Rules
Rule catalogue
Ruleset no-saft-financial-1.40.9. All 42 content checks with explanations, remediation and sources.
Official sources do not always agree. See documented conflicts and conservative dispositions.
| Severity | Check | Area | Documented basis |
|---|---|---|---|
| error | UTF-8 XML encodingfile.encoding.utf8 | Header and periods | Technical description p. 7 |
| warning | Numeric values without signsfile.numeric.unsigned | Header and periods | Technical description p. 8 |
| warning | Empty XML elementfile.element.empty | Header and periods | Technical description p. 8 |
| error | Elements marked not in usefile.element.not-in-use | Header and periods | Technical description and XSD 'Not in use' annotations |
| error | Known ISO country codefile.country-code.known | Header and periods | XSD ISOCountryCode; CLDR 48.2 snapshot |
| error | Known ISO currency codefile.currency-code.known | Header and periods | XSD ISOCurrencyCode; CLDR 48.2 snapshot |
| error | Valid IBANfile.iban.valid | Header and periods | XSD BankAccountStructure; SWIFT IBAN Registry 102 |
| error | Supported SAF-T versionheader.version.supported | Header and periods | Technical description p. 12 |
| warning | Header comment describes the fileheader.comment.present | Header and periods | Documentation p. 27; Technical description p. 13 |
| error | Unique general-ledger account IDsmaster.account.id.unique | Master data and references | XSD KeyGeneralLedgerAccount |
| error | Unique customer IDsmaster.customer.id.unique | Master data and references | Technical description p. 17; XSD KeyCustomer |
| error | Unique supplier IDsmaster.supplier.id.unique | Master data and references | Technical description p. 19; XSD KeySupplier |
| error | Unique owner IDsmaster.owner.id.unique | Master data and references | XSD KeyOwner |
| error | Unique tax codesmaster.tax-code.unique | Master data and references | XSD KeyTaxCode |
| error | Unique tax typesmaster.tax-type.unique | Master data and references | XSD KeyTaxType |
| error | Referenced master-data analysis existsmaster.analysis.reference.exists | Master data and references | XSD RefAnalysisParty*, RefCustomerParty* and RefSupplierParty* |
| error | Referenced ledger account existsledger.line.account.exists | Master data and references | XSD RefTransactionLineAccount |
| error | Referenced customer existsledger.line.customer.exists | Master data and references | XSD RefGLTransactionLineCustomer |
| error | Referenced supplier existsledger.line.supplier.exists | Master data and references | XSD RefGLTransactionLineSupplier |
| error | Customer and supplier are mutually exclusiveledger.line.party.exclusive | Master data and references | Technical description p. 31 |
| error | Party balance account existsmaster.party.balance-account.exists | Master data and references | XSD RefCustomerAccount and RefSupplierAccount |
| error | Referenced tax code existsledger.line.tax-code.exists | VAT mappings | Documentation pp. 34–35; XSD RefGLTransactionLineTaxCode |
| error | TaxType required with TaxCodeledger.line.tax-type.required | VAT mappings | Technical description p. 56 |
| error | Referenced tax type existsledger.line.tax-type.exists | VAT mappings | XSD RefGLTransactionTaxType |
| error | Known standard VAT mappingmapping.tax.standard-code.known | VAT mappings | Documentation p. 17; Technical description p. 23 |
| error | Lowercase compensation valuemapping.tax.compensation.literal | VAT mappings | Documentation pp. 8 and 17; Technical description p. 23 |
| error | Compensation-compatible standard VAT codemapping.tax.compensation.compatible | VAT mappings | Standard VAT/Tax codes v1.14 and official XML code list |
| error | Known account grouping mappingmapping.account.grouping-code.known | Account mappings | Documentation pp. 11 and 19–21 |
| warning | Applicable account grouping code listmapping.account.grouping-code-list.applicable | Account mappings | Documentation pp. 9 and 19; official repository Grouping Category Code 2025-2026 |
| warning | Referenced analysis code existsledger.line.analysis.exists | Master data and references | XSD RefGLAnalysisType and RefGLAnalysisID |
| error | Referenced owner existsledger.line.owner.exists | Master data and references | XSD RefTransactionLineOwner |
| error | NOK tax amount requires foreign currencyledger.line.tax-nok-currency | VAT mappings | Documentation p. 8; XSD TaxInformationStructure |
| warning | Declared transaction countledger.entries.count | Ledger reconciliation | Documentation pp. 21–22; Technical description p. 28 |
| error | Declared total debitledger.total.debit | Ledger reconciliation | Technical description p. 28 |
| error | Declared total creditledger.total.credit | Ledger reconciliation | Technical description p. 28 |
| error | Balanced accounting transactionledger.transaction.balance | Ledger reconciliation | Technical description pp. 30–33 |
| warning | Voucher type on every transactionledger.transaction.voucher-type.present | Master data and references | Technical description p. 29; XSD Transaction/VoucherType annotation |
| warning | Full unstructured person nameperson.unstructured-name.review | Master data and references | Technical description p. 52; XSD PersonNameStructure annotations |
| error | Valid selection rangeheader.selection.range | Header and periods | Documentation pp. 12 and 25–26 |
| warning | Maximum one financial yearheader.selection.maximum-one-year | Header and periods | Documentation pp. 12 and 21 |
| error | Transaction falls within date selectionledger.transaction.selection-period | Header and periods | Documentation p. 24 |
| error | Accounting period falls within selectionledger.transaction.accounting-period | Header and periods | Technical description p. 28 |