Germany

Invoice

Changes to generic fields

  • recipient.address.line1 is required.
  • recipient.address.line2 is required.
  • recipient.address.city is required.
  • recipient.address.state is required.
  • recipient.address.country is required.
  • recipient.address.postalCode is required.
type Invoice {
  // ...all generic invoice fields
  due: string;
  customInfo: {
    deu: {
      paymentCode: CodeListUncl4461;
      deliveryDate: string;
    };
  };
  lines: [
    { 
      // ...other line item fields
      vat: {
      // ...other line item vat fields
      code: VatCodeUNTDID;
      exemptReason?: string;
      }
    }
  ];
  recipient: {
    contact: {
      email?: string;
    }
    peppolId: {
      endpointId: string;
     };
    };
 paymentMeans: [
    {
      code: string;
      ref: string;
      account: {
        iban: string;
        accountName: string;
        accountNumber: string;
        bic: string;
        bankName: string;
        branch: string;
      }
    }
  ],
 notes?: string;
};

Field information

Name

Type

Required

Description

due

string (ISO 8601 date)

Yes

Due date of invoice.

customInfo.deu.paymentCode

string

Yes

Must contain payment means type code Payment Means. Required for XRechnung and ZUGFeRD.

customInfo.deu.deliveryDate

string

No

Delivery date of goods

lines[].vat.code

string

Yes

A value from an enumerated list as outlined on VAT code classification (UNTDID 5305)

lines[].vat.exemptReason

string

Conditional

A textual statement of the reason why the amount is exempted from VAT or why no VAT is being charged. Optional for XRechnung when VAT is 0 and required for ZUGFeRD.

recipient.contact.email

string

Conditional

Recipient email address. Required for ZUGFeRD.

recipient.peppolId.endpointId

string

Conditional

Peppol ID of the recipient (eg. iso6523-actorid-upis::9930:uat-eezi-12345) Required for XRechnung.

paymentMeans.ref

string

Optional

Remittance information
A textual value used to establish a link between the payment and the Invoice, issued by the Seller. Used for creditor's critical reconciliation information. This information element helps the Seller to assign an incoming payment to the relevant payment process.

paymentMeans.code

string

Optional

Payment means type code
The means, expressed as code, for how a payment is expected to be or has been settled.

paymentMeans.account.iban

string

Optional

IBAN Payment account identifier
A unique identifier of the financial payment account, at a payment service provider, to which payment should be made. This would be used instead of account.accountNumber when provided.

paymentMeans.account.accountNumber

string

Optional

Payment account identifier
A unique identifier of the financial payment account, at a payment service provider, to which payment should be made. This will only be used if when no IBAN number was specified.

paymentMeans.account.accountName

string

Optional

Payment account name
The name of the payment account, at a payment service provider, to which payment should be made.

paymentMeans.account.bic

string

Optional

The BIC (Bank Identifier Code) is an international code that clearly identifies banks worldwide. The BIC, often also called the SWIFT Code, is used as a second identifier in addition to the IBAN.

paymentMeans.account.bankName

string

Optional

Name of bank.

paymentMeans.account.branch

string

Optional

The branch identifier for the payment service provider where a payment account is located.

notes

string

Optional

Free text notes for additional data

Example CSV files

Invoice - Germany - PEPPOL.csv

Invoice - Germany - XRechnung.csv

Invoice - Germany ZUGFerd.csv