UstgRules
in package
Mandatory invoice information according to the German VAT act: section 14 (4) and 14a UStG, section 33 UStDV for small amount invoices and section 34a UStDV for small business invoices.
These rules apply to every invoice of a German seller, independent of the format.
Table of Contents
Methods
- all() : array<int, Rule>
- hasServiceDate() : bool
- Whether the invoice states the date of the supply (section 14 (4) no. 6 UStG): a delivery date, an invoicing period or a period on every line.
- isSmallAmountInvoice() : bool
- Small amount invoice according to section 33 UStDV whose simplifications apply: not for supplies under sections 6a and 13b UStG (section 33 sentence 3 UStDV). Possible distance sales (section 3c UStG) keep the simplifications and get a DE-USTG-12 warning.
- isSmallBusinessInvoice() : bool
- All lines use the small business exemption (section 19 (1) UStG, invoice according to section 34a UStDV).
- issuingDeadline() : Date|null
- The 15th day of the month after the supply (section 14a (1) sentence 2 and (3) sentence 1 UStG). The supply date is the latest of the delivery date, the end of the invoicing period and the ends of the line periods; null without any of them (see DE-USTG-03).
- plausibility() : array<int, Rule>
- Plausibility of the Leitweg-ID (level L7). For public buyers (XRechnung or a Leitweg-ID endpoint, BT-49 scheme 0204) wrong check digits are a warning. Other business buyers in Germany get an info for a buyer reference shaped like a Leitweg-ID with wrong check digits: it may be a mistyped Leitweg-ID, which does not lead to XRechnung, or an ordinary order number.
Methods
all()
public
static all() : array<int, Rule>
Return values
array<int, Rule>hasServiceDate()
Whether the invoice states the date of the supply (section 14 (4) no. 6 UStG): a delivery date, an invoicing period or a period on every line.
public
static hasServiceDate(InvoiceData $invoice) : bool
Parameters
- $invoice : InvoiceData
Return values
boolisSmallAmountInvoice()
Small amount invoice according to section 33 UStDV whose simplifications apply: not for supplies under sections 6a and 13b UStG (section 33 sentence 3 UStDV). Possible distance sales (section 3c UStG) keep the simplifications and get a DE-USTG-12 warning.
public
static isSmallAmountInvoice(InvoiceData $invoice) : bool
Parameters
- $invoice : InvoiceData
Return values
boolisSmallBusinessInvoice()
All lines use the small business exemption (section 19 (1) UStG, invoice according to section 34a UStDV).
public
static isSmallBusinessInvoice(InvoiceData $invoice) : bool
Parameters
- $invoice : InvoiceData
Return values
boolissuingDeadline()
The 15th day of the month after the supply (section 14a (1) sentence 2 and (3) sentence 1 UStG). The supply date is the latest of the delivery date, the end of the invoicing period and the ends of the line periods; null without any of them (see DE-USTG-03).
public
static issuingDeadline(InvoiceData $invoice) : Date|null
Parameters
- $invoice : InvoiceData
Return values
Date|nullplausibility()
Plausibility of the Leitweg-ID (level L7). For public buyers (XRechnung or a Leitweg-ID endpoint, BT-49 scheme 0204) wrong check digits are a warning. Other business buyers in Germany get an info for a buyer reference shaped like a Leitweg-ID with wrong check digits: it may be a mistyped Leitweg-ID, which does not lead to XRechnung, or an ordinary order number.
public
static plausibility() : array<int, Rule>