invopop / gobl

Go Business Language
Apache License 2.0
80 stars 5 forks source link

Clean up tax categories #267

Open noplisu opened 5 months ago

noplisu commented 5 months ago

Dependencies

This PR is a dependency for https://github.com/invopop/gobl.ksef/pull/14

Pull Request Summary

To handle additional tax categories we need to clean up tax categories and extensions. We want to handle tax categories for:

standard                      - tax.RateStandard
reduced                       - tax.RateReduced
super reduced                 - tax.RateSuperReduced
taxi                          - tax.RateSpecial + ExtKeyKSeFVATSpecial{taxi}
inside Poland 0%              - tax.RateZero
inside EU 0%                  - tax.RateZero
outside EU 0%                 - tax.RateZero
tax exempt                    - tax.RateExempt
tax not applicable outside EU - TaxRateNotPursuant
tax not applicable inside EU  - TaxRateNotPursuant

Additional values to determine which case it is will be determined in the gobl.ksef package

When do we use the zero tax rate

The regulations indicate situations in which a business entity may apply a 0% VAT rate for sales. It is essential for the seller to be an active VAT taxpayer. The 0% rate does not mean exemption from taxation. Sales made with a 0% VAT rate are still considered taxable. Despite no tax due, sales at a zero VAT rate should be reported in the VAT declaration. The 0% rate can be applied, among others, for the following activities:

When do we use the tax exempt tax rate

The "ZW" VAT invoice is used by entrepreneurs who are not active VAT taxpayers, are exempt from taxation on goods and services on a subjective basis, or are active VAT taxpayers who provide VAT-exempt services. The "ZW" VAT invoice used by entrepreneurs for the sale of goods or services rendered does not allow for the deduction of VAT on purchases covered by "ZW". Activities exempt from tax include, for example:

When do we use the tax not applicable tax rate

The entrepreneur who includes the annotation "NP" in the field corresponding to the VAT rate on the invoice indicates that the sale to which the entry refers is not subject to taxation in Poland. The designation "NP" is an abbreviation for the phrase "not subject to." This situation occurs, for example, in the case of entrepreneurs who provide services related to export for foreign customers. Taxation will occur in the buyer's country. The "NP" annotation allows for the settlement of VAT on purchases covered by the entry.