Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: PL regime #215

Merged
merged 6 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
222 changes: 222 additions & 0 deletions data/regimes/pl.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
{
"$schema": "https://gobl.org/draft-0/tax/regime",
"name": {
"en": "Poland",
"pl": "Polska"
},
"time_zone": "Europe/Warsaw",
"country": "PL",
"currency": "PLN",
"payment_means": [
{
"key": "cash",
"name": {
"en": "Cash",
"pl": "Gotówka"
},
"map": {
"favat-forma-platnosci": "1"
}
},
{
"key": "card",
"name": {
"en": "Card",
"pl": "Karta"
},
"map": {
"favat-forma-platnosci": "2"
}
},
{
"key": "other+coupon",
"name": {
"en": "Coupon",
"pl": "Bon"
},
"map": {
"favat-forma-platnosci": "3"
}
},
{
"key": "cheque",
"name": {
"en": "Cheque",
"pl": "Czek"
},
"map": {
"favat-forma-platnosci": "4"
}
},
{
"key": "online+loan",
"name": {
"en": "Loan",
"pl": "Kredyt"
},
"map": {
"favat-forma-platnosci": "5"
}
},
{
"key": "credit-transfer",
"name": {
"en": "Wire Transfer",
"pl": "Przelew"
},
"map": {
"favat-forma-platnosci": "6"
}
},
{
"key": "other+mobile",
"name": {
"en": "Mobile",
"pl": "Mobilna"
},
"map": {
"favat-forma-platnosci": "7"
}
}
],
"categories": [
{
"code": "VAT",
"name": {
"en": "VAT",
"pl": "VAT"
},
"title": {
"en": "Value Added Tax",
"pl": "Podatek od wartości dodanej"
},
"rates": [
{
"key": "standard",
"name": {
"en": "Standard Rate",
"pl": "Stawka Podstawowa"
},
"values": [
{
"percent": "23.0%"
},
{
"percent": "22.0%"
}
]
},
{
"key": "reduced",
"name": {
"en": "First Reduced Rate",
"pl": "Stawka Obniżona Pierwsza"
},
"values": [
{
"percent": "8.0%"
},
{
"percent": "7.0%"
}
]
},
{
"key": "super-reduced",
"name": {
"en": "Second Reduced Rate",
"pl": "Stawka Obniżona Druga"
},
"values": [
{
"percent": "5.0%"
}
]
},
{
"key": "special",
"name": {
"en": "Lump sum taxi rate",
"pl": "Ryczałt dla taksówek"
},
"values": [
{
"percent": "4.0%"
},
{
"percent": "3.0%"
}
]
},
{
"key": "zero-wdt",
"name": {
"en": "Zero Rate - WDT",
"pl": "Stawka Zerowa - WDT"
},
"values": [
{
"percent": "0.0%"
}
]
},
{
"key": "zero-domestic",
"name": {
"en": "Zero Rate - domestic",
"pl": "Stawka Zerowa - krajowe"
},
"values": [
{
"percent": "0.0%"
}
]
},
{
"key": "zero-export",
"name": {
"en": "Zero Rate - export",
"pl": "Stawka Zerowa - export"
},
"values": [
{
"percent": "0.0%"
}
]
},
{
"key": "exempt",
"name": {
"en": "Exempt",
"pl": "Zwolnione z opodatkowania"
},
"exempt": true
},
{
"key": "np",
"name": {
"en": "Not pursuant, pursuant to art100 section 1 point4",
"pl": "Niepodlegające opodatkowaniu na postawie wyłączeniem art100 sekcja 1 punkt 4"
},
"exempt": true
},
{
"key": "np-art100sec1point4",
"name": {
"en": "Not pursuant excluding art100 section 1 point4",
"pl": "Niepodlegające opodatkowaniu z wyłączeniem art100 sekcja 1 punkt 4"
},
"exempt": true
},
{
"key": "reverse-charge",
"name": {
"en": "Reverse Charge",
"pl": "Odwrotne obciążenie"
},
"exempt": true
}
]
}
]
}
62 changes: 62 additions & 0 deletions regimes/pl/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# pl GOBL Polish Tax Regime

Poland uses the FA_VAT format for their e-invoicing system.

Example PL GOBL files can be found in the [`examples`](./examples) (YAML uncalculated documents) and [`examples/out`](./examples/out) (JSON calculated envelopes) subdirectories.

## Table of contents

* [Public Documentation](#public-documentation)
* [Zones](#zones)
* [Local Codes](#local-codes)
* [Complements](#complements)

## Public Documentation

- [Wzór faktury)](http://crd.gov.pl/wzor/2021/11/29/11089/)

### `TFormaPlatnosci` - Payment Means

The FA_VAT `TFormaPlatnosci` field specifies an invoice's means of payment. The following table lists all the supported values and how GOBL will map them from the invoice's payment instructions key:

| Code | Name | GOBL Payment Instructions Key |
| ---- | ----------------------------------- | ----------------------------- |
| 1 | Gotówka | `cash` |
| 2 | Karta | `card` |
| 3 | Bon | `coupon` |
| 4 | Czek | `cheque` |
| 5 | Kredyt | `loan` |
| 6 | Przelew | `credit-transfer` |
| 7 | Mobilna | `mobile` |

#### Example

The following GOBL maps to the `1` (gotówka) value of the `TFormaPlatnosci` field:

```js
{
"$schema": "https://gobl.org/draft-0/bill/invoice",

// [...]

"payment": {
"instructions": {
"key": "cash"
}
}
}
```

#### Document Type (TRodzajFaktury)

All Polish invoices must be identified with a specific type code defined by the FA_VAT format. The following table helps identify how GOBL will map the expected Polish code with a combination of the Invoice Type and tax tags.

| Code | Type | Tax Tags | Description |
| ------- | ------------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| VAT | `standard` | | Regular invoice |
| UPR | `standard` | `simplified` | Simplified (no customer) |
| ZAL | `standard` | `partial` | Advance invioce |
| ROZ | `standard` | `settlement` | Settlement invoice |
| KOR | `corrective` | | Corrective (regular) |
| KOR_ZAL | `corrective` | `partial` | Corrective (advance) |
| KOR_ROZ | `corrective` | `settlement` | Corrective (settlement) |
50 changes: 50 additions & 0 deletions regimes/pl/examples/invoice-pl-pl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
$schema: "https://gobl.org/draft-0/bill/invoice"
currency: "PLN"
issue_date: "2023-12-20"
code: "SAMPLE-001"

supplier:
tax_id:
country: "PL"
code: "9876543210"
name: "Provide One S.L."
emails:
- addr: "[email protected]"
addresses:
- num: "42"
street: "Calle Pradillo"
locality: "Madrid"
region: "Madrid"
code: "00-015"
country: "PL"

customer:
tax_id:
country: "PL"
code: "1234567788"
name: "Sample Consumer"
addresses:
- num: "43"
street: "Calle Pradillo"
locality: "Madrid"
region: "Madrid"
code: "00-015"
country: "PL"

lines:
- quantity: 20
item:
name: "Development services"
price: "90.00"
unit: "h"
taxes:
- cat: VAT
rate: standard
- quantity: 1
item:
name: "Financial service"
price: "10.00"
unit: "service"
taxes:
- cat: VAT
rate: reduced
Loading