in

package
v0.211.0 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

README

India (IN) Tax Regime

This document provides an overview of the tax regime in India.


Overview of GST

India follows a dual GST model, where both the Central and State Governments levy taxes on a shared tax base:

  • Central GST (CGST): Levied by the Central Government.
  • State GST (SGST) / Union Territory GST (UTGST): Levied by State or Union Territory Governments.
  • Integrated GST (IGST): Levied by the Central Government on interstate supplies and imports.
Application of GST
  • Intrastate Supplies: Subject to CGST and SGST/UTGST in equal proportions.
  • Interstate Supplies and Imports: Subject to IGST, equivalent to CGST + SGST.
  • Compensation Cess: Additional tax on luxury and sin goods, such as tobacco and motor vehicles.

Rates and Categories

Taxable Rates
  1. 0.25%–3%: Precious metals like gold and diamonds.
  2. 5%: Basic goods and services (e.g., economy air travel, basic restaurants).
  3. 12%–18%: Standard services and goods (e.g., hotels, banking, construction).
  4. 28%: Luxury items (e.g., air conditioners, motor vehicles).
Zero-Rated Supplies
  • Exports.
  • Supplies to Special Economic Zones (SEZs).
Exempt Supplies
  • Fresh fruits and vegetables.
  • Educational services.
  • Public road tolls.
Note on GOBL Tax Categories

Due to the dual GST model, which divides taxes between the Central and State Governments, GOBL does not include predefined rate values for tax categories (e.g., CGST, SGST/UTGST, IGST). This choice prioritizes simplicity, avoiding the added complexity of managing split tax rate allocations.


GSTIN (Goods and Services Tax Identification Number)

The GSTIN is a unique 15-digit identifier assigned to every registered taxpayer under the GST system.

Validation

GOBL includes built-in validation for the GSTIN field to ensure compliance with the GST system. This validation verifies the format and checksum of the GSTIN, ensuring that only correctly structured identifiers are accepted.


HSN (Harmonized System of Nomenclature) Code

The HSN code is an internationally recognized system for classifying goods, adopted in India under the GST regime. It is used to identify and categorize items systematically, ensuring the correct application of tax rates.

Under the Indian GST system, the HSN code is mandatory for each item on a tax invoice, helping maintain uniformity and compliance across goods and services transactions.


Find example IN GOBL files in the examples (uncalculated documents) and examples/out (calculated envelopes) subdirectories.

For additional details, visit the official GST Portal.

Documentation

Overview

Package in provides models for dealing with India.

Package in provides tax scenarios specific to India GST regulations.

Package in defines GST tax categories specific to India.

Package in provides the tax identity validation specific to India.

Index

Constants

View Source
const (
	// IdentityTypePAN represents the Indian Permanent Account Number (PAN). It is a unique identifier assigned
	// to individuals, companies, and other entities.
	IdentityTypePAN cbc.Code = "PAN"

	// IdentityTypeHSN represents the Harmonized System of Nomenclature (HSN) code. It is used to classify products
	// or services for taxation purposes.
	//
	// HSN codes for India can be found using the online service here:
	// https://services.gst.gov.in/services/searchhsnsac
	//
	// The SAC (Service Accounting Code) is a similar classification system for services, which has been replaced
	// by the HSN code.
	IdentityTypeHSN cbc.Code = "HSN"
)
View Source
const (
	TaxCategoryCGST  cbc.Code = "CGST"
	TaxCategorySGST  cbc.Code = "SGST"
	TaxCategoryIGST  cbc.Code = "IGST"
	TaxCategoryUTGST cbc.Code = "UTGST"
)

Tax categories specific for India.

View Source
const (
	// ChargeKeyCompensationCess is used for addtional charges added to an invoice for the special
	// compensation "cess" (cess means tax or levy) which may be appled as a percentage or specific
	// amount based on valumes or other criteria.
	//
	// Typically this tariff is applied to luxury goods, tobacco, and other items that are considered
	// harmful to the environment or society.
	ChargeKeyCompensationCess cbc.Key = "compensation-cess"
)

Variables

This section is empty.

Functions

func New

func New() *tax.RegimeDef

New provides the tax region definition for India.

func Normalize

func Normalize(doc interface{})

Normalize attempts to clean up the object passed to it.

func Validate

func Validate(doc interface{}) error

Validate function assesses the document type to determine if validation is required.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL