ZUGFeRD Properties

Column Description
Property Name The name of the property which is used in the ZUGFeRD JavaScript API.
Description Description of the element as well as possible values.
Required for Describes for which element this element has to be specified to generate the element, if any. If in this field "ZUGFeRD" is written, the ZUGFeRD PDF cannot be generated without this property.
Profile The ZUGFeRD profile in which the ZUGFeRD property is occurring. If in the ZUGFeRD JavaScript API the profile basic has been set, elements that require the profile comfort will not be created. However in comfort, ZUGFeRD properties which require the profile basic are allowed.
Type The type of the ZUGFeRD property. Depending on the type, the value has to meet special criteria.

Property List

Filter:
Property NameDescriptionRequiredProfileType
zugferd-profileThe profile of the ZUGFeRD invoice. Possible values are basic and comfort.yesbasicText
document-idThe invoice number.yesbasicText
document-nameThe document type, "invoice" for example.yesbasicText
document-typeThe document type defined by a ZUGFeRD code, which should match the document-name. For the profile basic, only the ZUGFeRD code 380 is allowed.yesbasicDocument Type
document-issue-dateThe invoice date.yesbasicDate
seller-nameSeller name.yesbasicText
buyer-nameBuyer name.yesbasicText
currencyThe currency of the document as code e.g. GBP, USD.yesbasicCurrency Code
line-totalTotal amount for all positions.yesbasicNumber
tax-basis-totalTotal amount for the tax basis.yesbasicNumber
tax-totalTax total amount, calculated from the tax-basis-total.yesbasicNumber
grand-totalTotal amount with taxes.yesbasicNumber
test-indicatorSpecifies whether this ZUGFeRD XML has been generated for testing purposes only. The boolean has to be specified as string.basicBoolean
buyer-referenceBuyer reference.comfortText
delivery-dateDelivery date.basicDate
reference-lineReference line.basicText
payment-typePayment type as code e.g. "10" for cash.comfortPayment Code
payment-methodPayment type as text. This should match the property payment-type.comfortText
mandate-referenceMandate reference.comfortText
mandate-reference-idMandate identifier defined by the mandate.comfortText
charge-totalTotal amount of all charges. If no charges have been applied, this element will be generated with an amount of 0.00.basicNumber
allowance-totalTotal amount of all allowances. If no allowances have been applied, this element will be generated with an amount of 0.00.basicNumber
prepaid-totalTotal prepaid amount.comfortNumber
due-payableThe due payable amount.comfortNumber
document-note (Repeating Element)

Defines a note on document level. To create this element, the ZUGFeRD property document-note.content is required. Document Note is a repeating element.

Property NameDescriptionRequiredProfileType
document-note.contentThe text content of a note on document level.yesbasicText
document-note.subject-codeA ZUGFeRD code defining the type of the note.comfortSubject Code
Defines a note on document level. To create this element, the ZUGFeRD property document-note.content is required. Document Note is a repeating element.basicRepeating Element
seller (Unique Element)

To define the seller, the following ZUGFeRD properties can be used. None of these ZUGFeRD properties are required to generate the seller element, except the seller-name, which is already required for ZUGFeRD.

Property NameDescriptionRequiredProfileType
seller-idSeller ID.comfortText
seller-global-idSeller global ID.comfortGlobal ID
seller-postcodeSeller postal code.basicText
seller-lineoneAddress line 1 of the Seller.basicText
seller-linetwoAddress line 2 of the Seller.basicText
seller-citySeller city.basicText
seller-countrySeller country code e.g. GB, US.basicCountry Code
seller-vatidSeller VAT ID.basicText
seller-taxidSeller Tax ID.basicText
To define the seller, the following ZUGFeRD properties can be used. None of these ZUGFeRD properties are required to generate the seller element, except the seller-name, which is already required for ZUGFeRD.basicUnique Element
buyer (Unique Element)

To define the buyer, the following ZUGFeRD properties can be used. None of these ZUGFeRD properties are required to generate the buyer element, except the buyer-name, which is already required for ZUGFeRD.

Property NameDescriptionRequiredProfileType
buyer-idBuyer ID.comfortText
buyer-global-idBuyer global ID.comfortGlobal ID
buyer-postcodeBuyer postal code.basicText
buyer-lineoneAddress line 1 of the buyer.basicText
buyer-linetwoAddress line 2 of the buyer.basicText
buyer-cityBuyer city.basicText
buyer-countryBuyer country code e.g. GB, US.basicCountry Code
buyer-vatidBuyer VAT ID of the buyer.basicText
buyer-taxidBuyer Tax ID.basicText
To define the buyer, the following ZUGFeRD properties can be used. None of these ZUGFeRD properties are required to generate the buyer element, except the buyer-name, which is already required for ZUGFeRD.basicUnique Element
buyer-order-reference (Unique Element)

Element to define the buyer order reference. To generate the reference, the ZUGFeRD property buyer-order-reference-id has to be specified.

Property NameDescriptionRequiredProfileType
buyer-order-reference-issue-dateOrder date. Does not require an output format.comfortDate
buyer-order-reference-idOrder reference number.yescomfortText
Element to define the buyer order reference. To generate the reference, the ZUGFeRD property buyer-order-reference-id has to be specified.comfortUnique Element
contract-reference (Unique Element)

Element to define the contract reference. To generate the reference, the ZUGFeRD property contract-reference-id has to be specified.

Property NameDescriptionRequiredProfileType
contract-reference-issue-dateContract date. Does not require an output format.comfortDate
contract-reference-idContract number.yescomfortText
Element to define the contract reference. To generate the reference, the ZUGFeRD property contract-reference-id has to be specified.comfortUnique Element
customer-order-reference (Unique Element)

Element to define the customer order reference. To generate the reference, the ZUGFeRD property customer-order-reference-id has to be specified.

Property NameDescriptionRequiredProfileType
customer-order-reference-issue-dateCustomer order date. Does not require an output format.comfortDate
customer-order-reference-idCustomer order reference number.yescomfortText
Element to define the customer order reference. To generate the reference, the ZUGFeRD property customer-order-reference-id has to be specified.comfortUnique Element
delivery-note-reference (Unique Element)

Element to define the customer order reference. To generate the reference, the ZUGFeRD property delivery-note-reference-id has to be specified.

Property NameDescriptionRequiredProfileType
delivery-note-reference-issue-dateDelivery note date. Does not require an output format.comfortDate
delivery-note-reference-idDelivery note number.yescomfortText
Element to define the customer order reference. To generate the reference, the ZUGFeRD property delivery-note-reference-id has to be specified.comfortUnique Element
invoicee (Unique Element)

To define the invoicee, the following ZUGFeRD properties can be used. To generate this element, the property invoicee-name has to be used. All other properties are optional.

Property NameDescriptionRequiredProfileType
invoicee-idInvoicee ID.comfortText
invoicee-global-idInvoicee global ID.comfortGlobal ID
invoicee-nameInvoicee name.yescomfortText
invoicee-postcodeInvoicee postal code.comfortText
invoicee-lineoneInvoicee address line 1.comfortText
invoicee-linetwoInvoicee address line 2.comfortText
invoicee-cityInvoicee City.comfortText
invoicee-countryInvoicee country code e.g. GB, US.comfortCountry Code
invoicee-vatidInvoicee VAT ID.comfortText
invoicee-taxidInvoicee Tax ID.comfortText
To define the invoicee, the following ZUGFeRD properties can be used. To generate this element, the property invoicee-name has to be used. All other properties are optional.comfortUnique Element
payer (Unique Element)

ZUGFeRD properties to define the bank details of the payer. All ZUGFeRD properties are optional.

Property NameDescriptionRequiredProfileType
payer-ibanIBAN of the payer.comfortText
payer-account-numberPayer account number.comfortText
payer-bicPayer BIC.comfortText
payer-blzGerman bankleitzahl of the payer.comfortText
payer-bankName of the bank of the payer.comfortText
ZUGFeRD properties to define the bank details of the payer. All ZUGFeRD properties are optional.comfortUnique Element
payee (Unique Element)

ZUGFeRD properties to define the bank details of the payee. All ZUGFeRD properties are optional.

Property NameDescriptionRequiredProfileType
payee-ibanPayee IBAN.basicText
payee-account-namePayee account name.basicText
payee-account-numberPayee account number.basicText
payee-bicBIC of the payee.basicText
payee-blzGerman bankleitzahl of the payee.basicText
payee-bankName of the payee's bank.basicText
ZUGFeRD properties to define the bank details of the payee. All ZUGFeRD properties are optional.basicUnique Element

These ZUGFeRD properties are used to define the in the PDF used taxes. To generate this element, the properties tax.calculated, tax.type, tax.basis are tax.percent required.

Property NameDescriptionRequiredProfileType
tax.calculatedCalculated tax amount.yesbasicNumber
tax.typeTax type.yesbasicTax Type
tax.reasonReason for tax exemption.comfortText
tax.basisBase amount for the tax calculation.yesbasicNumber
tax.categoryTax category.comfortTax Category
tax.percentApplicable tax percentage.yesbasicNumber
These ZUGFeRD properties are used to define the in the PDF used taxes. To generate this element, the properties tax.calculated, tax.type, tax.basis are tax.percent required.basicRepeating Element
billing-period (Unique Element)

ZUGFeRD properties to define the billing period. Both properties are required to generate this element.

Property NameDescriptionRequiredProfileType
billing-period-startStart of the billing period.yescomfortDate
billing-period-endEnd of the billing period.yescomfortDate
ZUGFeRD properties to define the billing period. Both properties are required to generate this element.comfortUnique Element
allowance-charge (Repeating Element)

The following ZUGFeRD properties can be used to define an allowance or charge. The properties allowance-charge.indicator and allowance-charge.amount have to be used to generate the element. Allowance charge is a repeating element.

Property NameDescriptionRequiredProfileType
allowance-charge.indicatorIndicator for allowances or charges. "true" defines an allowance.yescomfortBoolean
allowance-charge.amountAmount of this allowance or charge.yescomfortNumber
allowance-charge.reasonReason for this allowance or charge.comfortText
allowance-charge.tax (Repeating Element)

With this nested repeating element it is possible to define taxes for allowances or charges. The ZUGFeRD proeperties allowance-charge.tax.typ, allowance-charge.tax.category und allowance-charge.tax.percent are required to generate this element.

Property NameDescriptionRequiredProfileType
allowance-charge.tax.typeTax type of this allowance or charge.yescomfortTax Type
allowance-charge.tax.categoryTax category of this allowance or charge.yescomfortTax Category
allowance-charge.tax.percentApplicable tax percentage of this allowance or charge.yescomfortNumber
With this nested repeating element it is possible to define taxes for allowances or charges. The ZUGFeRD proeperties allowance-charge.tax.typ, allowance-charge.tax.category und allowance-charge.tax.percent are required to generate this element.comfortRepeating Element
The following ZUGFeRD properties can be used to define an allowance or charge. The properties allowance-charge.indicator and allowance-charge.amount have to be used to generate the element. Allowance charge is a repeating element.comfortRepeating Element
logistic-charge (Repeating Element)

It is possible to define logistic service charges with this repeating element. The ZUGFeRD properties logistic-charge.description and logistic-charge.amount are required to generate this element.

Property NameDescriptionRequiredProfileType
logistic-charge.descriptionService charge description.yescomfortText
logistic-charge.amountService charge amount.yescomfortNumber
logistic-charge.tax (Repeating Element)

With this nested repeating element it is possible to define taxes for logistic service charges. The ZUGFeRD properties logistic-charge.tax.type, logistic-charge.tax.category and logistic-charge.tax.percent are required to generate this element.

Property NameDescriptionRequiredProfileType
logistic-charge.tax.typeTax type of the service charge.yescomfortTax Type
logistic-charge.tax.categoryTax category of the service charge.yescomfortTax Category
logistic-charge.tax.percentApplicable tax percentage of the service charge.yescomfortNumber
With this nested repeating element it is possible to define taxes for logistic service charges. The ZUGFeRD properties logistic-charge.tax.type, logistic-charge.tax.category and logistic-charge.tax.percent are required to generate this element.comfortRepeating Element
It is possible to define logistic service charges with this repeating element. The ZUGFeRD properties logistic-charge.description and logistic-charge.amount are required to generate this element.comfortRepeating Element
payment-terms (Repeating Element)

To specify the payment terms, this repeating element can be used. To generate this element, the ZUGFeRD property payment-terms.description is required.

Property NameDescriptionRequiredProfileType
payment-terms.descriptionPayment terms text.yescomfortText
payment-terms.due-datePayment due date.comfortDate
To specify the payment terms, this repeating element can be used. To generate this element, the ZUGFeRD property payment-terms.description is required.comfortRepeating Element

With this repeating element it is possible to define more information for this position. To generate this element, the ZUGFeRD property item.name is required.

Property NameDescriptionRequiredProfileType
item.seller-idSeller assigned product ID.comfortText
item.buyer-idBuyer assigned product identifier.comfortText
item.nameProduct name.yesbasicText
item.descriptionProduct description.comfortText
item.line-totalTotal amount of this position.comfortNumber
item.note (Repeating Element)

Defines a note for this position. To generate this element, the ZUGFeRD property item.note.conten is required.

Property NameDescriptionRequiredProfileType
item.note.contentPosition text description.yescomfortText
Defines a note for this position. To generate this element, the ZUGFeRD property item.note.conten is required.comfortRepeating Element
item.gross-price (Unique Element)

Element to define details on gross price without taxes. To generate this element, the ZUGFeRD property item.gross-price-amount is required.

Property NameDescriptionRequiredProfileType
item.gross-price-amountGross price for this position.yescomfortNumber
item.gross-price-quantity (Unique Element)

Optional element to define the gross price basis quantity. All following ZUGFeRD properties are required to generate this element.

Property NameDescriptionRequiredProfileType
item.gross-price-quantityPrice basis quantity.yescomfortNumber
item.gross-price-quantity-unitUnit for the price basis quantity.yescomfortQuantity Unit
Optional element to define the gross price basis quantity. All following ZUGFeRD properties are required to generate this element.comfortUnique Element
Element to define details on gross price without taxes. To generate this element, the ZUGFeRD property item.gross-price-amount is required.comfortUnique Element
item.gross-price-allowance-charge (Repeating Element)

Nested repeating element to define an allowance or charge on the gross price. The ZUGFeRD properties item.gross-price-allowance-charge.indicator und item.gross-price-allowance-charge.amount have to be used to generate this element.

Property NameDescriptionRequiredProfileType
item.gross-price-allowance-charge.indicatorIndicator for allowances or charges. "true" defines an allowance.yescomfortBoolean
item.gross-price-allowance-charge.amountAmount of the allowance or charge.yescomfortNumber
item.gross-price-allowance-charge.reasonReason for the allowance or charge.comfortText
Nested repeating element to define an allowance or charge on the gross price. The ZUGFeRD properties item.gross-price-allowance-charge.indicator und item.gross-price-allowance-charge.amount have to be used to generate this element.comfortRepeating Element
item.net-price (Unique Element)

Element to define details on net price without taxes. To generate this element the ZUGFeRD property item.net-price-amount is required.

Property NameDescriptionRequiredProfileType
item.net-price-amountNet price for this position.yescomfortNumber
item.net-price-quantity (Unique Element)

Optional element to define the net price basis quantity. All following ZUGFeRD properties are required to generate this element.

Property NameDescriptionRequiredProfileType
item.net-price-quantityPrice basis quantity.yescomfortNumber
item.net-price-quantity-unitUnit of the price basis quantity.yescomfortQuantity Unit
Optional element to define the net price basis quantity. All following ZUGFeRD properties are required to generate this element.comfortUnique Element
Element to define details on net price without taxes. To generate this element the ZUGFeRD property item.net-price-amount is required.comfortUnique Element
item.billed-quantity (Unique Element)

Element to define the quantity. All following ZUGFeRD properties are required to generate this element.

Property NameDescriptionRequiredProfileType
item.billed-quantityPosition quantity.yesbasicNumber
item.billed-quantity-unitPosition quantity unit.yesbasicQuantity Unit
Element to define the quantity. All following ZUGFeRD properties are required to generate this element.basicUnique Element
item.tax (Repeating Element)

Nested repeating element to define the taxes for this position. The ZUGFeRD property item.tax.percent is required to generate this element.

Property NameDescriptionRequiredProfileType
item.tax.typeTax type of this position.comfortTax Type
item.tax.reasonTax exemption reason.comfortText
item.tax.categoryTax category of this position.comfortTax Category
item.tax.percentApplicable tax percentage for this position.yescomfortNumber
Nested repeating element to define the taxes for this position. The ZUGFeRD property item.tax.percent is required to generate this element.comfortRepeating Element
item.global-id (Unique Element)

Optional element to define the global ID of the product of this position. All following ZUGFeRD properties are required to generate this element.

Property NameDescriptionRequiredProfileType
item.global-idGlobal ID of this product.yescomfortText
item.global-id-typeCode of the organisation in which the ID is registered.yescomfortGlobal ID
Optional element to define the global ID of the product of this position. All following ZUGFeRD properties are required to generate this element.comfortUnique Element
With this repeating element it is possible to define more information for this position. To generate this element, the ZUGFeRD property item.name is required.basicRepeating Element

Property Types

Text

The type Text describes a free text or text content which will not be validated.

Number

The type Number includes amounts and percentages. The decimal mark has to be specified via the optional inputFormat property to ensure that the ZUGFeRD XML is valid. Further information about the inputFormat property can be found in the API documentation.

Date

The Date type requires the current input format for the date string, defined by the inputFormat property, and the output format for the ZUGFeRD document, defined by the scheme property. Further information about these properties can be found in the API documentation. Possible values for the output format are:

102Year, Month and Day: yyyyMMdd
610Year and Month: yyyyMM
616Year und week: yyyyww

Document Type

The Document Type specifies the type of the document through a code. Possible document types are:

84Debit note related to financial adjustments
380Commercial invoice
389Self-billed invoice

Subject Code

The Subject Code type describes the content of a note for electronic validation. Possible codes are:

""General free text
REGRegulatory information
AAKPrice conditions
AAJAdditional conditions of sale/purchase
PMTPayment information

Country Code

The Country Code is a 2 character code for countries. Following are some examples from the ZUGFeRD specification:

DEGermany
FRFrance
ITItaly
CNChina

See

ISO 3166-1 alpha-2

Global ID

The type Global ID specifies the organisation in which the id of the buyer, seller or product is registered. The code of the organisation has to be defined by the scheme property. Further information about this property can be found in die API documentation. Following are some examples from the ZUGFeRD specification:

0021SWIFT (BIC)
0060D-U-N-S Number
0088GS1 Global Location Number (GLN)
0160GS1 Global Trade Item Number (GTIN, EAN)
0177OSCAR (Odette)

See

ISO 6523

Currency Code

A 3 characters long code, specifying the currency used throughout the entire document. Following are some examples from the ZUGFeRD specification:

EUREuro
USDUnited States Dollar
GBPPound sterling
COPColombian Peso

See

ISO 4217 3A

Payment Code

The Payment Code describes the payment method for electronical inspection. ZUGFeRD defines the following payment methods:

1Instrument not defined
3Automated clearing house debit
10In cash
20Cheque
31Debit transfer
42Payment to bank account
48Bank card
49Direct debit
97Clearing between partners

Tax Type

The type Tax indicates which tax type applies. ZUGFeRD defines the following tax types:

VATValue added tax
ZF_INSURANCE_TAXInsurance tax (temporary)
AAJTax on replacement part

Tax Category

The type Tax Category describes which tax category applies. ZUGFeRD defines the following tax categories:

AEVAT Reverse Charge
EExempt from tax
ZZero rated goods
OServices outside scope of tax
ICCode specifying that the VAT rate is levied from the invoicee for Intra-Community supplies.
SValid for regular VAT-rates, e.g. 7 % or 19 % in Germany

Quantity Unit

The Quantity Unit describes the quantity unit as a ZUGFeRD code. Following are some examples from the ZUGFeRD specification:

C62Piece
DAYDay
HARHectare
HURHour
KGMKilogram
KTMKilometre
KWHKilowatt hour
LSLump sum
LTRLitre
MINMinute
MMKSquare millimetre
MMTMillimetre
MTKSquare meter
MTQCubic meter
MTRMeter
NARArticle quantity
NPRPair quantity
P1Percent
SETSet
TNEMetric ton
WEEWeek
BABarrel
BCBottlecrate, bottlerack
BGBag
BOBottle, non-protected, cylindrical
BXBox
CSCase
CTCarton
CXCan, cylindrical
NEUnpacked or unpackaged
PXPalett
RORoll
SASack

See

UNCL 7065 (Version D.13A)