Skip to content

Commit

Permalink
Merge pull request #440 from invopop/indian-tax-regime
Browse files Browse the repository at this point in the history
Indian tax regime
  • Loading branch information
samlown authored Dec 12, 2024
2 parents 34e317a + eb70ac6 commit 483e4d2
Show file tree
Hide file tree
Showing 21 changed files with 1,379 additions and 5 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- `tax`: `ExtValue.In` for comparing extension values.
- `bill`: `Tax.MergeExtensions` convenience method for adding extensions to tax objects and avoid nil panics.
- `cbc`: `Key.Pop` method for splitting keys with sub-keys, e.g. `cbc.Key("a+b").Pop() == cbc.Key("a")`.
- `in`: added Indian regime

### Changed

Expand Down
261 changes: 261 additions & 0 deletions data/regimes/in.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,261 @@
{
"$schema": "https://gobl.org/draft-0/tax/regime-def",
"name": {
"en": "India"
},
"time_zone": "Asia/Kolkata",
"country": "IN",
"currency": "INR",
"tags": [
{
"schema": "bill/invoice",
"list": [
{
"key": "simplified",
"name": {
"de": "Vereinfachte Rechnung",
"en": "Simplified Invoice",
"es": "Factura Simplificada",
"it": "Fattura Semplificata"
},
"desc": {
"de": "Wird für B2C-Transaktionen verwendet, wenn die Kundendaten nicht verfügbar sind. Bitte wenden Sie sich an die örtlichen Behörden, um die Grenzwerte zu ermitteln.",
"en": "Used for B2C transactions when the client details are not available, check with local authorities for limits.",
"es": "Usado para transacciones B2C cuando los detalles del cliente no están disponibles, consulte con las autoridades locales para los límites.",
"it": "Utilizzato per le transazioni B2C quando i dettagli del cliente non sono disponibili, controllare con le autorità locali per i limiti."
}
},
{
"key": "reverse-charge",
"name": {
"de": "Umkehr der Steuerschuld",
"en": "Reverse Charge",
"es": "Inversión del Sujeto Pasivo",
"it": "Inversione del soggetto passivo"
}
},
{
"key": "self-billed",
"name": {
"de": "Rechnung durch den Leistungsempfänger",
"en": "Self-billed",
"es": "Facturación por el destinatario",
"it": "Autofattura"
}
},
{
"key": "customer-rates",
"name": {
"de": "Kundensätze",
"en": "Customer rates",
"es": "Tarifas aplicables al destinatario",
"it": "Aliquote applicabili al destinatario"
}
},
{
"key": "partial",
"name": {
"de": "Teilweise",
"en": "Partial",
"es": "Parcial",
"it": "Parziale"
}
},
{
"key": "bill-of-supply",
"name": {
"en": "Bill of Supply",
"hi": "आपूर्ति का बिल"
}
},
{
"key": "invoice-cum-bill-of-supply",
"name": {
"en": "Invoice-cum-bill of supply",
"hi": "चालान-सह-आपूर्ति का बिल"
}
}
]
}
],
"extensions": [
{
"key": "in-supply-place",
"name": {
"en": "Place of Supply",
"hi": "आपूर्ति का स्थान"
},
"desc": {
"en": "The location to which the goods or services are supplied. In GST, this is referred to as the 'Place of Supply'.",
"hi": "वह स्थान जहां वस्तुएं या सेवाएं प्रदान की जाती हैं। GST में इसे 'आपूर्ति का स्थान' कहा जाता है।"
}
}
],
"identity_keys": [
{
"key": "in-pan",
"name": {
"en": "Permanent Account Number",
"hi": "स्थायी खाता संख्या"
}
}
],
"scenarios": [
{
"schema": "bill/invoice",
"list": [
{
"tags": [
"reverse-charge"
],
"note": {
"key": "legal",
"src": "reverse-charge",
"text": "Reverse Charge"
}
},
{
"tags": [
"simplified"
],
"note": {
"key": "legal",
"src": "simplified",
"text": "Simplified Tax Invoice"
}
},
{
"tags": [
"bill-of-supply"
],
"note": {
"key": "legal",
"src": "bill-of-supply",
"text": "Bill Of Supply"
}
},
{
"tags": [
"invoice-cum-bill-of-supply"
],
"note": {
"key": "legal",
"src": "invoice-cum-bill-of-supply",
"text": "Invoice-cum-bill Of Supply"
}
}
]
}
],
"corrections": [
{
"schema": "bill/invoice",
"types": [
"credit-note",
"debit-note"
]
}
],
"categories": [
{
"code": "CGST",
"name": {
"en": "CGST",
"hi": "सीजीएसटी"
},
"title": {
"en": "Central Goods and Services Tax",
"hi": "केंद्रीय माल और सेवा कर"
},
"sources": [
{
"title": {
"en": "Central GST Regulations",
"hi": "केंद्रीय जीएसटी नियमावली"
},
"url": "https://gstcouncil.gov.in/central-gst"
}
]
},
{
"code": "SGST",
"name": {
"en": "SGST",
"hi": "एसजीएसटी"
},
"title": {
"en": "State Goods and Services Tax",
"hi": "राज्य माल और सेवा कर"
},
"sources": [
{
"title": {
"en": "State GST Regulations",
"hi": "राज्य जीएसटी नियमावली"
},
"url": "https://gstcouncil.gov.in/sgst"
}
]
},
{
"code": "IGST",
"name": {
"en": "IGST",
"hi": "आईजीएसटी"
},
"title": {
"en": "Integrated Goods and Services Tax",
"hi": "एकीकृत माल और सेवा कर"
},
"sources": [
{
"title": {
"en": "Integrated GST Regulations",
"hi": "एकीकृत जीएसटी नियमावली"
},
"url": "https://gstcouncil.gov.in/gst_council/igst"
}
]
},
{
"code": "UTGST",
"name": {
"en": "UTGST",
"hi": "यूटीजीएसटी"
},
"title": {
"en": "Union Territory Goods and Services Tax",
"hi": "केंद्र शासित प्रदेश माल और सेवा कर"
},
"sources": [
{
"title": {
"en": "Union Territory GST Regulations",
"hi": "यूटीजीएसटी नियमावली"
},
"url": "https://gstcouncil.gov.in/utgst"
}
]
},
{
"code": "CESS",
"name": {
"en": "Cess",
"hi": "उपकर"
},
"title": {
"en": "GST Compensation Cess on Luxury or Specific Goods",
"hi": "विलासिता या विशेष वस्तुओं पर जीएसटी मुआवजा उपकर"
},
"sources": [
{
"title": {
"en": "GST Compensation Cess Regulations",
"hi": "जीएसटी मुआवजा उपकर नियमावली"
},
"url": "https://gstcouncil.gov.in"
}
]
}
]
}
4 changes: 4 additions & 0 deletions data/schemas/bill/invoice.json
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,10 @@
"const": "GB",
"title": "United Kingdom"
},
{
"const": "IN",
"title": "India"
},
{
"const": "IT",
"title": "Italy"
Expand Down
39 changes: 39 additions & 0 deletions examples/in/invoice-in-in-simplified.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
$schema: "https://gobl.org/draft-0/bill/invoice"
uuid: "3aea7b56-59d8-4beb-90bd-f8f280d852a0"
currency: "INR"
issue_date: "2022-02-01"
series: "SAMPLE"
code: "001"

supplier:
tax_id:
country: "IN"
code: "27AAPFU0939F1ZV"
name: "Provide One LLC"
emails:
- addr: "billing@example.in"
addresses:
- num: "16"
street: "Baner Road"
locality: "Baner"
code: "411045"
region: "Maharashtra"
country: "IN"

lines:
- quantity: 20
item:
name: "Development services"
price: "90.00"
unit: "h"
identities:
- type: "HSN"
code: "123456"
discounts:
- percent: "5%"
reason: "Special discount"
taxes:
- cat: CGST
percent: 9%
- cat: SGST
percent: 9%
54 changes: 54 additions & 0 deletions examples/in/invoice-in-in-stdr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
$schema: "https://gobl.org/draft-0/bill/invoice"
uuid: "3aea7b56-59d8-4beb-90bd-f8f280d852a0"
currency: "INR"
issue_date: "2022-02-01"
series: "SAMPLE"
code: "001"

supplier:
tax_id:
country: "IN"
code: "27AAPFU0939F1ZV"
name: "Provide One LLC"
emails:
- addr: "billing@example.in"
addresses:
- num: "101"
street: "Dr. Annie Besant Road"
locality: "Worli"
code: "400018"
region: "Maharashtra"
country: "IN"

customer:
tax_id:
country: "IN"
code: "27AAPFU0939F1ZV"
name: "Sample Consumer"
emails:
- addr: "email@sample.in"
addresses:
- num: "202"
street: "MG Road"
locality: "Bengaluru"
code: "560001"
region: "Karnataka"
country: "IN"

lines:
- quantity: 20
item:
name: "Development services"
price: "90.00"
unit: "h"
identities:
- type: "HSN"
code: "123456"
discounts:
- percent: "5%"
reason: "Special discount"
taxes:
- cat: CGST
percent: 9%
- cat: SGST
percent: 9%
Loading

0 comments on commit 483e4d2

Please sign in to comment.