pt

package
v0.42.1 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2023 License: Apache-2.0 Imports: 13 Imported by: 1

Documentation

Overview

Package pt provides models for dealing with the Portuguese tax regime.

Index

Constants

View Source
const (
	ZoneAveiro         l10n.Code = "01"
	ZoneBeja           l10n.Code = "02"
	ZoneBraga          l10n.Code = "03"
	ZoneBraganca       l10n.Code = "04"
	ZoneCasteloBranco  l10n.Code = "05"
	ZoneCoimbra        l10n.Code = "06"
	ZoneEvora          l10n.Code = "07"
	ZoneFaro           l10n.Code = "08"
	ZoneGuarda         l10n.Code = "09"
	ZoneLeiria         l10n.Code = "10"
	ZoneLisboa         l10n.Code = "11"
	ZonePortalegre     l10n.Code = "12"
	ZonePorto          l10n.Code = "13"
	ZoneSantarem       l10n.Code = "14"
	ZoneSetubal        l10n.Code = "15"
	ZoneVianaDoCastelo l10n.Code = "16"
	ZoneVilaReal       l10n.Code = "17"
	ZoneViseu          l10n.Code = "18"
	ZoneAzores         l10n.Code = "20" // Autonomous Region
	ZoneMadeira        l10n.Code = "30" // Autonomous Region
)

Zone code definitions for Portugal based on districts and autonomous regions based on ISO 3166-2:PT.

View Source
const (
	StampProviderATATCUD cbc.Key = "at-atcud"
	StampProviderATQR    cbc.Key = "at-qr"
)

AT official codes to include in stamps.

View Source
const (
	TagExempt        cbc.Key = "exempt"
	TagOutlay        cbc.Key = "outlay"
	TagIntrastate    cbc.Key = "intrastate-export"
	TagImports       cbc.Key = "imports"
	TagExports       cbc.Key = "exports"
	TagSuspension    cbc.Key = "suspension-scheme"
	TagInternalOps   cbc.Key = "internal-operations"
	TagSmallRetail   cbc.Key = "small-retail-scheme"
	TagExemptScheme  cbc.Key = "exempt-scheme"
	TagTobacco       cbc.Key = "tobacco-scheme"
	TagMargin        cbc.Key = "margin-scheme"
	TagTravel        cbc.Key = "travel"
	TagSecondHand    cbc.Key = "second-hand"
	TagArt           cbc.Key = "art"
	TagAntiques      cbc.Key = "antiques"
	TagTransmission  cbc.Key = "goods-transmission"
	TagOther         cbc.Key = "other"
	TagFlatRate      cbc.Key = "flat-rate-scheme"
	TagNonDeductible cbc.Key = "non-deductible"
	TagConsignment   cbc.Key = "consignment-goods"
	TagReverseCharge cbc.Key = "reverse-charge"
	TagWaste         cbc.Key = "waste"
	TagCivilEng      cbc.Key = "civil-eng"
	TagGreenhouse    cbc.Key = "greenhouse"
	TagWoods         cbc.Key = "woods"
	TagB2B           cbc.Key = "b2b"
	TagIntraEU       cbc.Key = "intraeu"
	TagRealEstate    cbc.Key = "real-estate"
	TagGold          cbc.Key = "gold"
	TagNonTaxable    cbc.Key = "non-taxable"
)

Tax exemption tags

View Source
const (
	KeyTaxExemptionCode cbc.Key = "at-tax-exemption-code"
)

Custom keys used typically in meta information

Variables

This section is empty.

Functions

func Calculate

func Calculate(doc interface{}) error

Calculate will attempt to clean the object passed to it.

func New

func New() *tax.Regime

New instantiates a new Portugal regime for the given zone.

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