-
Notifications
You must be signed in to change notification settings - Fork 51
feat(regimes): Add Andorra regime #730
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
Open
NicoGonMu
wants to merge
7
commits into
invopop:main
Choose a base branch
from
NicoGonMu:add-andorra-regime
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
87955bc
feat(regimes): Add Andorra regime
NicoGonMu adf405e
fix unit test case
NicoGonMu 05ed915
update changelog
NicoGonMu 940d7a7
use zero tax key
NicoGonMu c63a909
fix invoice test
NicoGonMu d818f1e
Add description and remove README
NicoGonMu 0acd2b0
PR suggestions
NicoGonMu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,232 @@ | ||
| { | ||
| "$schema": "https://gobl.org/draft-0/tax/regime-def", | ||
| "name": { | ||
| "ca": "Andorra", | ||
| "en": "Andorra", | ||
| "es": "Andorra" | ||
| }, | ||
| "description": { | ||
| "en": "The main indirect tax in Andorra is the 'Impost General Indirecte (IGI)', and it is enforced since 1st of January 2013.\nIt has different rates:\n- General: 4.5% (general goods and services)\n- Reduced: 1.0% (food products, books, newspapers, magazines, medicines, etc.)\n- Super-reduced: 0.0% (health, education, social services)\n- Special: 2.5% (transportation, cultural goods and services)\n- Increased: 9.5% (banking and financial services)\n\nThe NRT (Número de Registre Tributari) is the tax identification number for companies in Andorra. It has the following format: 'X-999999-X'\n- A leading letter (identifying the type of person/entity):\n - F: Individual Residents\n - E: Non-resident Individuals\n - L: Limited Liability Companies (S.L.)\n - A: Joint-stock Corporations (S.A.)\n- Six digits.\n- A trailing control letter.\n\nInvoices allow corrections through credit notes (Nota d'Abonament) and debit notes and (Nota de Càrrec).\n\nInvoice presentation reqirements are:\n- Quarterly: Companies with a turnover of more than €250,000 (April, July, October, January).\n- Semestral: Companies with a turnover of less than €250,000 (July, January).\n- Start of activity: Generally declared semestrally (July and January), unless the special regime applies.\n\nSources:\n- [Departament de Tributs i de Fronteres - Andorra](https://www.impostos.ad)\n- [Andorra NRT number guide](https://lookuptax.com/docs/tax-identification-number/andorra-tax-id-guide)" | ||
|
NicoGonMu marked this conversation as resolved.
|
||
| }, | ||
| "time_zone": "Europe/Andorra", | ||
| "country": "AD", | ||
| "currency": "EUR", | ||
| "tax_scheme": "VAT", | ||
| "scenarios": [ | ||
| { | ||
| "schema": "bill/invoice", | ||
| "list": [ | ||
| { | ||
| "tags": [ | ||
| "reverse-charge" | ||
| ], | ||
| "note": { | ||
| "key": "legal", | ||
| "src": "reverse-charge", | ||
| "text": "Reverse charge: Customer to account for VAT to the relevant tax authority." | ||
| } | ||
| } | ||
| ] | ||
| } | ||
| ], | ||
| "corrections": [ | ||
| { | ||
| "schema": "bill/invoice", | ||
| "types": [ | ||
| "credit-note", | ||
| "debit-note" | ||
| ] | ||
| } | ||
| ], | ||
| "categories": [ | ||
| { | ||
| "code": "VAT", | ||
| "name": { | ||
| "ca": "IGI", | ||
| "en": "VAT", | ||
| "es": "IGI" | ||
| }, | ||
| "title": { | ||
| "ca": "Impost General Indirecte", | ||
| "en": "General Indirect Tax", | ||
| "es": "Impuesto General Indirecto" | ||
| }, | ||
| "desc": { | ||
| "ca": "L'Impost General Indirecte (IGI) és el principal impost indirecte que grava el consum a Andorra.", | ||
| "en": "The General Indirect Tax (IGI) is the main indirect tax levied on consumption in Andorra.", | ||
| "es": "El Impuesto General Indirecto (IGI) es el principal impuesto indirecto que grava el consumo en Andorra." | ||
| }, | ||
| "keys": [ | ||
| { | ||
| "key": "standard", | ||
| "name": { | ||
| "en": "Standard" | ||
| } | ||
| }, | ||
| { | ||
| "key": "zero", | ||
| "name": { | ||
| "en": "Zero" | ||
| } | ||
| }, | ||
| { | ||
| "key": "reverse-charge", | ||
| "name": { | ||
| "en": "Reverse charge" | ||
| }, | ||
| "no_percent": true | ||
| }, | ||
| { | ||
| "key": "exempt", | ||
| "name": { | ||
| "en": "Exempt" | ||
| }, | ||
| "no_percent": true | ||
| }, | ||
| { | ||
| "key": "export", | ||
| "name": { | ||
| "en": "Export" | ||
| }, | ||
| "no_percent": true | ||
| }, | ||
| { | ||
| "key": "intra-community", | ||
| "name": { | ||
| "en": "Intra-community" | ||
| }, | ||
| "no_percent": true | ||
| }, | ||
| { | ||
| "key": "outside-scope", | ||
| "name": { | ||
| "en": "Outside scope" | ||
| }, | ||
| "no_percent": true | ||
| } | ||
| ], | ||
| "rates": [ | ||
| { | ||
| "rate": "general", | ||
| "keys": [ | ||
| "standard" | ||
| ], | ||
| "name": { | ||
| "ca": "Tipus general", | ||
| "en": "General Rate", | ||
| "es": "Tipo general" | ||
| }, | ||
| "desc": { | ||
| "ca": "Tipus general de l'IGI aplicat a la majoria de béns i serveis (4,5%).", | ||
| "en": "General IGI rate applied to most goods and services (4.5%).", | ||
| "es": "Tipo general del IGI aplicado a la mayoría de bienes y servicios (4,5%)." | ||
| }, | ||
| "values": [ | ||
| { | ||
| "since": "2013-01-01", | ||
| "percent": "4.5%" | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "rate": "reduced", | ||
| "keys": [ | ||
| "standard" | ||
| ], | ||
| "name": { | ||
| "ca": "Tipus reduït", | ||
| "en": "Reduced Rate", | ||
| "es": "Tipo reducido" | ||
| }, | ||
| "desc": { | ||
| "ca": "Tipus reduït de l'IGI (1%).", | ||
| "en": "Reduced IGI rate (1%).", | ||
| "es": "Tipo reducido del IGI (1%)." | ||
| }, | ||
| "values": [ | ||
| { | ||
| "since": "2013-01-01", | ||
| "percent": "1.0%" | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "rate": "super-reduced", | ||
| "keys": [ | ||
| "zero" | ||
| ], | ||
| "name": { | ||
| "ca": "Tipus superreduït", | ||
| "en": "Super-Reduced Rate", | ||
| "es": "Tipo superreducido" | ||
| }, | ||
| "desc": { | ||
| "ca": "Tipus superreduït de l'IGI (0%).", | ||
| "en": "Super-reduced IGI rate (0%).", | ||
| "es": "Tipo superreducido del IGI (0%)." | ||
| }, | ||
| "values": [ | ||
| { | ||
| "since": "2013-01-01", | ||
| "percent": "0.0%" | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "rate": "special", | ||
| "keys": [ | ||
| "standard" | ||
| ], | ||
| "name": { | ||
| "ca": "Tipus especial", | ||
| "en": "Special Rate", | ||
| "es": "Tipo especial" | ||
| }, | ||
| "desc": { | ||
| "ca": "Tipus especial de l'IGI (2,5%).", | ||
| "en": "Special IGI rate (2.5%).", | ||
| "es": "Tipo especial del IGI (2,5%)." | ||
| }, | ||
| "values": [ | ||
| { | ||
| "since": "2013-01-01", | ||
| "percent": "2.5%" | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "rate": "increased", | ||
| "keys": [ | ||
| "standard" | ||
| ], | ||
| "name": { | ||
| "ca": "Tipus incrementat", | ||
| "en": "Increased Rate", | ||
| "es": "Tipo incrementado" | ||
| }, | ||
| "desc": { | ||
| "ca": "Tipus incrementat de l'IGI (9,5%).", | ||
| "en": "Increased IGI rate (9.5%).", | ||
| "es": "Tipo incrementado del IGI (9,5%)." | ||
| }, | ||
| "values": [ | ||
| { | ||
| "since": "2013-01-01", | ||
| "percent": "9.5%" | ||
| } | ||
| ] | ||
| } | ||
| ], | ||
| "sources": [ | ||
| { | ||
| "title": { | ||
| "ca": "Departament de Tributs i de Fronteres - Andorra", | ||
| "en": "Departament de Tributs i de Fronteres - Andorra", | ||
| "es": "Departamento de Tributos y Fronteras - Andorra" | ||
| }, | ||
| "url": "https://www.e-tramits.ad/tramits/ca/impostos/igi" | ||
| } | ||
| ] | ||
| } | ||
| ] | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| $schema: "https://gobl.org/draft-0/bill/invoice" | ||
| $regime: AD | ||
| type: credit-note | ||
| series: "2024" | ||
| code: "CN-0001" | ||
| issue_date: "2024-01-05" | ||
| currency: EUR | ||
| preceding: | ||
| - regime: AD | ||
| type: standard | ||
| series: "2024" | ||
| code: "0001" | ||
| issue_date: "2024-01-01" | ||
| supplier: | ||
| name: "Empresa Andorrana" | ||
| tax_id: | ||
| country: AD | ||
| code: L123456A | ||
| customer: | ||
| name: "Client Particular" | ||
| tax_id: | ||
| country: AD | ||
| code: F121212B | ||
| lines: | ||
| - quantity: 1 | ||
| item: | ||
| name: "Producte Estàndard (Devolució)" | ||
| price: 100.00 | ||
| taxes: | ||
| - cat: VAT | ||
| rate: general |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| $schema: "https://gobl.org/draft-0/bill/invoice" | ||
| $regime: AD | ||
| type: standard | ||
| series: "2024" | ||
| code: "0001" | ||
| issue_date: "2024-01-01" | ||
| currency: EUR | ||
| supplier: | ||
| name: "Empresa Andorrana" | ||
| tax_id: | ||
| country: AD | ||
| code: L123456A | ||
| address: | ||
| street: "Av. Meritxell, 1" | ||
| locality: "Andorra la Vella" | ||
| country: AD | ||
| customer: | ||
| name: "Client Particular" | ||
| tax_id: | ||
| country: AD | ||
| code: F121212B | ||
| address: | ||
| street: "Carrer Major, 10" | ||
| locality: "Escaldes-Engordany" | ||
| country: AD | ||
| lines: | ||
| - quantity: 1 | ||
| item: | ||
| name: "Producte Estàndard" | ||
| price: 100.00 | ||
| taxes: | ||
| - cat: VAT | ||
| rate: general | ||
| - quantity: 2 | ||
| item: | ||
| name: "Llibre (Tipus Reduït)" | ||
| price: 20.00 | ||
| taxes: | ||
| - cat: VAT | ||
| rate: reduced |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.