co

package
v0.81.0 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2024 License: Apache-2.0 Imports: 14 Imported by: 1

README

🇨🇴 GOBL Colombia Tax Regime

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

Zones

Colombia requires zones to be defined in supplier and customer party's tax identity.

Invoice Series & Code

Invoices ("Facturas de Venta") as expected in many countries require a series and unique sequential code to be issued for each document. The DIAN in colombia however have gone a step further and require invoice series to be pre-registered with the government.

Details on how to do this are available here.

Documentation

Overview

Package co handles tax regime data for Colombia.

Index

Constants

View Source
const (
	StampProviderDIANCUDE cbc.Key = "dian-cude"
	StampProviderDIANQR   cbc.Key = "dian-qr"
)

DIAN official codes to include in stamps.

View Source
const (
	KeyDIAN                    cbc.Key = "dian"
	KeyDIANCompanyID           cbc.Key = "dian-company-id"
	KeyDIANAdditionalAccountID cbc.Key = "dian-additional-account-id"
)

Special keys to use in meta data.

View Source
const (
	ExtKeyDIANMunicipality cbc.Key = "co-dian-municipality"
	ExtKeyDIANCorrection   cbc.Key = "co-dian-correction"
)

Extension keys used in Colombia.

View Source
const (
	IdentityKeyCivilRegister   cbc.Key = "co-civil-register"
	IdentityKeyIDCard          cbc.Key = "co-id-card"
	IdentityKeyCitizenID       cbc.Key = "co-citizen-id"
	IdentityKeyForeignerIDCard cbc.Key = "co-foreigner-id-card"
	IdentityKeyForeignerID     cbc.Key = "co-foreigner-id"
	IdentityKeyPassport        cbc.Key = "co-passport"
	IdentityKeyForeignID       cbc.Key = "co-foreign-id"
	IdentityKeyPEP             cbc.Key = "co-pep"
	IdentityKeyNUIP            cbc.Key = "co-nuip"
)

Known base tax identity types for Colombia

View Source
const (
	TaxCategoryIC        cbc.Code = "IC"  // Impuesto Consumo
	TaxCategoryICA       cbc.Code = "ICA" // Impuesto de Industria y Comercio
	TaxCategoryINC       cbc.Code = "INC"
	TaxCategoryReteIVA   cbc.Code = "RVAT" // ReteIVA
	TaxCategoryReteRenta cbc.Code = "RR"   // ReteRenta
	TaxCategoryReteICA   cbc.Code = "RICA" // ReteICA
)

Local tax categories.

View Source
const (
	TaxCodeFinalCustomer cbc.Code = "222222222222"
)

Known base tax identity types for Colombia

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 provides the tax region definition

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