Skip to content

Finding codes

Every problem pycuf notices is a finding with a stable code. Codes are never renumbered or reused. The severity shown is the default; change it with severity_overrides.

CUF1xxx: Input and character encoding

Code Severity Meaning
CUF1001 INFO Byte-order mark present
CUF1002 INFO No XML declaration; encoding assumed to be UTF-8
CUF1004 INFO Encoding overridden by the caller
CUF1006 WARNING Bytes undefined in the encoding kept as Latin-1 characters
CUF1010 WARNING Repair: XML-illegal control characters removed
CUF1012 WARNING Repair: bare ampersands escaped
CUF1013 WARNING NUL or Ctrl-Z padding after the end of the document ignored

CUF2xxx: XML well-formedness and security

Code Severity Meaning
CUF2001 ERROR XML is not well-formed
CUF2002 ERROR Forbidden construct (DOCTYPE/ENTITY)
CUF2003 ERROR Safety limit exceeded

CUF3xxx: Structure and values

Code Severity Meaning
CUF3001 INFO CUF version
CUF3002 WARNING CUF version is not 4.003
CUF3010 ERROR Required element missing
CUF3011 WARNING Element not defined in CUF-XML 4.003
CUF3012 INFO Attribute not defined in CUF-XML 4.003 (vendor extension)
CUF3013 ERROR Element not allowed in this place
CUF3014 ERROR Element occurs more often than allowed
CUF3015 ERROR Element out of order
CUF3016 ERROR Required attribute missing
CUF3017 WARNING Required attribute is empty
CUF3018 ERROR Invalid number
CUF3019 ERROR Invalid date or date-time
CUF3020 ERROR Invalid boolean
CUF3021 ERROR Value not in the allowed code list
CUF3022 INFO Software house (SYSTEEMHUIS) not in the 4.003 list
CUF3023 WARNING Text content inside an element ignored
CUF3024 INFO Legacy sort-code attribute (SC1–SC6) read as a sort code
CUF3025 INFO Sort codes written as attributes read as sort codes

CUF4xxx: Sort codes

Code Severity Meaning
CUF4001 WARNING Sort code used but its SORTERING is not declared in SORTEERCODES
CUF4002 INFO SORTERING declared but never used
CUF4003 WARNING SORTERING declared more than once
CUF4004 INFO Sort code value not in the declared code table

CUF5xxx: Stated totals against computed totals

Code Severity Meaning
CUF5001 WARNING Bundle total differs from the computed total
CUF5002 WARNING Estimate total differs from the computed total
CUF5003 INFO Stated totals are all zero although the lines have costs
CUF5004 WARNING Resource lines do not add up to their estimate line
CUF5005 INFO Contract sum differs from direct costs plus tail items
CUF5006 INFO Estimate line priced from its resource lines

CUF7xxx: Data quality, conventions and lenient parsing

Code Severity Meaning
CUF7001 INFO Negative quantity or price
CUF7002 WARNING Non-ISO date accepted
CUF7003 WARNING Decimal comma accepted
CUF7004 WARNING Boolean written as true/false accepted
CUF7005 INFO Element estimate: bundles with DOORREKEN_HOEVEELHEID
CUF7006 INFO Factor 0 interpreted as 1