GST invoicing looks simple on the surface: apply 18%, print the tax on the invoice, done. In practice, building GST-compliant invoicing into a web application requires handling a set of rules that most developers only discover after a client gets a notice.
CGST/SGST vs IGST โ and why it matters for your database
Whether a transaction is intra-state or inter-state determines whether you apply CGST+SGST or IGST. This is not a display preference โ it changes the tax columns on the invoice and the data that goes into GST returns. Your schema needs to handle both cases, not just calculate a total tax amount.
HSN codes and their validation
Every line item on a B2B GST invoice requires an HSN code. The digit length required depends on the annual turnover of the supplier. This is a data integrity problem, not a formatting one.
E-invoicing for registered businesses
Businesses above the e-invoicing threshold must generate an IRN (Invoice Reference Number) from the IRP before the invoice is considered valid. This is an API integration, not a document format. If your web app is generating invoices without IRN for clients above the threshold, the invoices are non-compliant.
At Magnustic, we have built GST-compliant invoicing into Qiyadah ERP from the ground up โ handling CGST/SGST/IGST split, HSN validation, and e-invoicing API integration for clients who need it.