Skip to content
Open
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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p

### Added

- `regimes/lv`: new tax regime for Latvia (LV), including VAT standard (21%), intermediate (12%), and reduced (5%) rates with comprehensive tax identity validation for legal entities (MOD-11 checksum) and individuals (date validation).
- `bill`: `PaymentDetails.Payer` party — the party responsible for making payment of the invoice if not the customer, the counterpart of the existing `Payee`.

## [v0.501.0] - 2026-06-16
Expand Down
174 changes: 174 additions & 0 deletions data/regimes/lv.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
{
"$schema": "https://gobl.org/draft-0/tax/regime-def",
"name": {
"en": "Latvia",
"lv": "Latvija"
},
"description": {
"en": "Latvia's tax system is administered by the State Revenue Service\n(Valsts ieņēmumu dienests, VID). As an EU member state, Latvia\nfollows the EU VAT Directive with standard, reduced, and\nsuper-reduced rates.\n\nVAT (Pievienotās vertības nodoklis, PVN) applies to most goods and services. Businesses are\nidentified by their VAT registration number, which follows the format of the country code\n\"LV\" followed by 11 digits."
},
"sources": [
{
"title": {
"en": "State Revenue Service - VAT overview"
},
"url": "https://www.vid.gov.lv/en/value-added-tax"
}
],
"time_zone": "Europe/Riga",
"country": "LV",
"currency": "EUR",
"tax_scheme": "VAT",
"scenarios": [
{
"schema": "bill/invoice",
"list": [
{
"tags": [
"reverse-charge"
],
"cat": [
"VAT"
],
"note": {
"cat": "VAT",
"key": "reverse-charge",
"text": "Reverse charge: Customer to account for VAT to the relevant tax authority."
}
}
]
}
],
"categories": [
{
"code": "VAT",
"name": {
"en": "VAT",
"lv": "PVN"
},
"title": {
"en": "Value Added Tax",
"lv": "Pievienotās Vertības Nodoklis"
},
"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": {
"en": "General Rate",
"lv": "Nodokļa Standartlikmi"
},
"values": [
{
"since": "2013-01-01",
"percent": "21.0%"
}
]
},
{
"rate": "intermediate",
"keys": [
"standard"
],
"name": {
"en": "First Reduced Rate",
"lv": "Pirmā samazinātā likme"
},
"values": [
{
"since": "2013-01-01",
"percent": "12.0%"
}
]
},
{
"rate": "reduced",
"keys": [
"standard"
],
"name": {
"en": "Second Reduced Rate",
"lv": "Otrā samazinātā likme"
},
"values": [
{
"since": "2018-01-01",
"percent": "5.0%"
}
]
}
],
"sources": [
{
"title": {
"en": "State Revenue Service - VAT overview"
},
"url": "https://www.fm.gov.lv/lv/tax-rates"
},
{
"title": {
"en": "Value Added Tax Law"
},
"url": "https://likumi.lv/ta/en/en/id/253451-value-added-tax-law"
},
{
"title": {
"en": "EU Council Directive on the common system of value added tax"
},
"url": "https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32006L0112"
}
]
}
]
}
32 changes: 32 additions & 0 deletions data/rules/lv.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"id": "GOBL-LV",
"package": "lv",
"subsets": [
{
"id": "GOBL-LV-TAX-IDENTITY",
"object": "tax.Identity",
"subsets": [
{
"guard": "code in [LV]",
"subsets": [
{
"field": "code",
"subsets": [
{
"guard": "present",
"assert": [
{
"id": "GOBL-LV-TAX-IDENTITY-01",
"desc": "invalid VAT identity code",
"tests": "valid"
}
]
}
]
}
]
}
]
}
]
}
4 changes: 4 additions & 0 deletions data/schemas/tax/regime-code.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@
"const": "IT",
"title": "Italy"
},
{
"const": "LV",
"title": "Latvia"
},
{
"const": "MX",
"title": "Mexico"
Expand Down
75 changes: 75 additions & 0 deletions examples/lv/invoice-intermediate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "LV",
"uuid": "11111111-2222-3333-4444-555555555555",
"type": "standard",
"series": "LV2025",
"code": "003",
"issue_date": "2025-06-15",
"currency": "EUR",
"supplier": {
"name": "Latvian Supermarket SIA",
"tax_id": {
"country": "LV",
"code": "40003032065"
},
"addresses": [
{
"num": "1",
"street": "Brīvības iela",
"locality": "Rīga",
"code": "1010",
"country": "LV"
}
],
"emails": [
{
"addr": "billing@example.lv"
}
]
},
"customer": {
"name": "Sample Consumer",
"addresses": [
{
"num": "10",
"street": "Rātslaukuma iela",
"locality": "Rīga",
"code": "1050",
"country": "LV"
}
]
},
"lines": [
{
"i": 1,
"quantity": "2",
"item": {
"name": "Food products",
"price": "15.00"
},
"taxes": [
{
"cat": "VAT",
"rate": "intermediate",
"percent": "12.0%"
}
]
},
{
"i": 2,
"quantity": "1",
"item": {
"name": "Medicines",
"price": "25.00"
},
"taxes": [
{
"cat": "VAT",
"rate": "intermediate",
"percent": "12.0%"
}
]
}
]
}
75 changes: 75 additions & 0 deletions examples/lv/invoice-reduced.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "LV",
"uuid": "87654321-4321-4321-4321-210987654321",
"type": "standard",
"series": "LV2025",
"code": "002",
"issue_date": "2025-06-15",
"currency": "EUR",
"supplier": {
"name": "Latvian Bookstore SIA",
"tax_id": {
"country": "LV",
"code": "40003032065"
},
"addresses": [
{
"num": "1",
"street": "Brīvības iela",
"locality": "Rīga",
"code": "1010",
"country": "LV"
}
],
"emails": [
{
"addr": "billing@example.lv"
}
]
},
"customer": {
"name": "Sample Customer",
"addresses": [
{
"num": "10",
"street": "Rātslaukuma iela",
"locality": "Rīga",
"code": "1050",
"country": "LV"
}
]
},
"lines": [
{
"i": 1,
"quantity": "5",
"item": {
"name": "Technical books",
"price": "25.00"
},
"taxes": [
{
"cat": "VAT",
"rate": "reduced",
"percent": "5.0%"
}
]
},
{
"i": 2,
"quantity": "10",
"item": {
"name": "Food supplies",
"price": "5.00"
},
"taxes": [
{
"cat": "VAT",
"rate": "intermediate",
"percent": "12.0%"
}
]
}
]
}
Loading