pl

package
v0.70.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2024 License: Apache-2.0 Imports: 16 Imported by: 3

README

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 (YAML uncalculated documents) and examples/out (JSON calculated envelopes) subdirectories.

Table of contents

Public Documentation

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:

{
  "$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)

Documentation

Overview

Package pl provides the Polish tax regime.

Index

Constants

View Source
const (
	ExtKeyKSeFVATZero    = "pl-ksef-vat-zero"
	ExtKeyKSeFVATSpecial = "pl-ksef-vat-special"
)

Regime extension codes for local electronic formats.

View Source
const (
	MeansKeyCoupon     cbc.Key = "coupon"
	MeansKeyCheque     cbc.Key = "cheque"
	MeansKeyLoan       cbc.Key = "loan"
	MeansKeyDebtRelief cbc.Key = "credit-transfer"
	MeansKeyMobile     cbc.Key = "mobile"
)

Regime Specific Payment Means Extension Keys

View Source
const (
	KeyFAVATPaymentType cbc.Key = "favat-forma-platnosci" // for mapping to TFormaPlatnosci's codes
	KeyFAVATInvoiceType cbc.Key = "favat-rodzaj-faktury"  // for mapping to TRodzajFaktury's codes
)

Custom keys used typically in meta or codes information.

View Source
const (
	TaxRateNotPursuant       cbc.Key = "np"
	TaxRateNotPursuantArt100 cbc.Key = "np-art100sec1point4"
)

Tax rates specific to Poland.

View Source
const (
	TagSettlement cbc.Key = "settlement"
)

Document tag keys

Variables

This section is empty.

Functions

func Calculate

func Calculate(doc interface{}) error

Calculate will perform any regime specific calculations.

func New

func New() *tax.Regime

New instantiates a new Polish regime.

func Validate

func Validate(doc interface{}) error

Validate checks the document type and determines if it can be validated.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL