I think for invoices for non-EU clients, the German VAT shouldn't be 0 bot outside of scope. to be fixed in XML and human-readable PDF.
claude:
Context
As a German Freiberufler (§18 EStG) invoicing a US-based client for B2B services,
the correct place of supply under §3a (2) UStG is the recipient's country (USA).
This means the transaction is not "zero-rated" but entirely "outside the scope of
German VAT" — a distinct category under EN16931 (UNTDID 5305 code "O", with
VATEX-EU-O as the exemption reason), separate from code "Z" (zero-rated, still
taxable at 0%).
Current behavior
The contract/invoice settings only expose a numeric "VAT %" field. Setting this
to 0 causes tuttle to generate a Factur-X invoice with:
ram:ApplicableTradeTax
ram:CategoryCodeZ</ram:CategoryCode>
ram:RateApplicablePercent0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Expected behavior
A way to select "Outside Scope of Tax" (category O) as distinct from
"zero-rated" (category Z), so the generated Factur-X XML correctly reflects
non-EU B2B service invoices per §3a (2) UStG / Art. 44 VAT Directive.
Environment
tuttle v3.13.2, Factur-X/ZUGFeRD output via python-drafthorse
Reference
https://developer.vertexinc.com/einvoicing/docs/en-16931-services-outside-scope-of-tax
I think for invoices for non-EU clients, the German VAT shouldn't be 0 bot outside of scope. to be fixed in XML and human-readable PDF.
claude:
Context
As a German Freiberufler (§18 EStG) invoicing a US-based client for B2B services,
the correct place of supply under §3a (2) UStG is the recipient's country (USA).
This means the transaction is not "zero-rated" but entirely "outside the scope of
German VAT" — a distinct category under EN16931 (UNTDID 5305 code "O", with
VATEX-EU-O as the exemption reason), separate from code "Z" (zero-rated, still
taxable at 0%).
Current behavior
The contract/invoice settings only expose a numeric "VAT %" field. Setting this
to 0 causes tuttle to generate a Factur-X invoice with:
ram:ApplicableTradeTax
ram:CategoryCodeZ</ram:CategoryCode>
ram:RateApplicablePercent0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Expected behavior
A way to select "Outside Scope of Tax" (category O) as distinct from
"zero-rated" (category Z), so the generated Factur-X XML correctly reflects
non-EU B2B service invoices per §3a (2) UStG / Art. 44 VAT Directive.
Environment
tuttle v3.13.2, Factur-X/ZUGFeRD output via python-drafthorse
Reference
https://developer.vertexinc.com/einvoicing/docs/en-16931-services-outside-scope-of-tax