Skip to content

API reference / Quittio \ Country \ DE \ Rules

UstgRules

final class in quittio/country-de

Quittio\Country\DE\Rules\UstgRules · Source

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.

Methods#

MethodDescription
::all()
::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.
::isSmallAmountInvoice()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()Invoice of a small business (section 19 UStG, invoice according to section 34a UStDV): the small business flag is set or a line uses VatPreset::SmallBusiness.
::issuingDeadline()The 15th day of the month after the supply (section 14a (1) sentence 2 and (3) sentence 1 UStG), see supplyDate(); null without a supply date (see DE-USTG-03).
::plausibility()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.
::supplyDate()The date of the supply that the invoice states: the latest of the delivery date, the end of the invoicing period and the ends of the line periods; null without any of them.

all()#

public static function all(): list<Rule>

static

Returns
list<Rule>

hasServiceDate()#

public static function hasServiceDate(InvoiceData $invoice): bool

static

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.

ParameterTypeDescription
$invoiceInvoiceData
Returns
bool

isSmallAmountInvoice()#

public static function isSmallAmountInvoice(InvoiceData $invoice): bool

static

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.

ParameterTypeDescription
$invoiceInvoiceData
Returns
bool

isSmallBusinessInvoice()#

public static function isSmallBusinessInvoice(InvoiceData $invoice): bool

static

Invoice of a small business (section 19 UStG, invoice according to section 34a UStDV): the small business flag is set or a line uses VatPreset::SmallBusiness.

ParameterTypeDescription
$invoiceInvoiceData
Returns
bool

issuingDeadline()#

public static function issuingDeadline(InvoiceData $invoice): ?Date

static

The 15th day of the month after the supply (section 14a (1) sentence 2 and (3) sentence 1 UStG), see supplyDate(); null without a supply date (see DE-USTG-03).

ParameterTypeDescription
$invoiceInvoiceData
Returns
?Date

plausibility()#

public static function plausibility(): list<Rule>

static

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.

Returns
list<Rule>

supplyDate()#

public static function supplyDate(InvoiceData $invoice): ?Date

static

The date of the supply that the invoice states: the latest of the delivery date, the end of the invoicing period and the ends of the line periods; null without any of them.

ParameterTypeDescription
$invoiceInvoiceData
Returns
?Date

The open core packages are MIT licensed. The legal wording of the country packs must be confirmed by a tax adviser.