Skip to content

Error

FX-SCH-A-000277: A late payment penalty period needs a unit code

In short

Error: fails the selected checks.

FX-SCH-A-000277 means the unitCode attribute is missing from ram:BasisPeriodMeasure in your late payment penalty terms. Add the attribute with the correct time-unit code for the penalty's calculation basis, then export and recheck.

On this page

What it means

In the Extended profiles of Factur-X and ZUGFeRD, ram:BasisPeriodMeasure within ram:ApplicableTradePaymentPenaltyTerms must have a unitCode attribute. These penalty terms sit within ram:SpecifiedTradePaymentTerms. This rule checks only whether the attribute exists, not whether it is empty or contains an allowed value.

Why it matters

The unit identifies the duration used as the basis for calculating the late payment penalty. A missing attribute leaves out unit information required by the XML structure.

How to fix it

Check the time unit for the penalty's basis period in your payment terms. If you create the XML yourself, add unitCode to the affected ram:BasisPeriodMeasure using the appropriate time-unit code. If your software omits it, ask its supplier to correct the export. Preserve the agreed penalty terms, then export again and recheck.

Once the file is corrected, check it again for free: Validate a ZUGFeRD invoice

Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice Beta

The rule as published

Attribute '@unitCode' is required in this context.

Where this rule applies

Rule set Version
Factur-X 1.09 EXTENDED 1.0.9-2
ZUGFeRD 2.5 EXTENDED 2.5.2
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether FX-SCH-A-000277 still fails, and which other rules do.

Updated 6 November 2026