What you’ll set up
This tutorial takes an Indian SaaS seller from zero to a GST-compliant invoice. You’ll save your seller GST configuration, see how place of supply decides CGST/SGST vs IGST, connect the Invoice Registration Portal (IRP) for e-invoicing, and generate a compliant invoice for a B2B customer.GST configuration applies to all future invoices. Finalized invoices are
never modified retroactively — set this up before you start billing Indian
customers.
Step 1: Save your seller GST configuration
Store your GSTIN, legal name, state code, SAC code, and default GST rate. This one call drives both invoice formatting and the CGST/SGST-vs-IGST decision.
Read it back any time with
GET /v1/settings/gst — note that it returns 404
until a configuration exists, which is exactly why unconfigured tenants see
0% GST.
Step 2: Understand place of supply
GST splits by where the supply happens. Recurso derives the buyer side from the customer’s billing-address state /place_of_supply and compares it to your
seller state_code:
Create the B2B customer with GSTIN and state so the invoice is correct:
29) and the buyer in Maharashtra (27) — a
different state — so the invoice will carry IGST at 18%. A Karnataka buyer
would instead get CGST 9% + SGST 9%.
Step 3: Enable e-invoicing (IRP)
If you’re under India’s e-invoicing mandate (turnover above the threshold), register your IRP credentials so B2B invoices are submitted to the government portal automatically. This is a separate endpoint from GST config.Start with
environment: "sandbox" to validate credentials, then switch to
production once submissions succeed. Recurso manages IRP token refresh for you;
sensitive fields are masked in responses. Setting is_enabled: false pauses
e-invoice generation without deleting credentials.Step 4: Generate a compliant invoice
With GST configured, invoices are generated automatically at each billing period end — no extra call. The result includes the full GST breakup. For the interstate example above:GET /v1/invoices/{id}/einvoice, and download the print-ready document via
GET /v1/invoices/{id}/pdf.
Verify Your Setup
1
GST config saved
GET /v1/settings/gst returns your GSTIN and rate (not a 404).2
Place of supply correct
A same-state customer’s invoice shows CGST + SGST; a different-state
customer’s shows IGST.
3
IRP connected
Sandbox submissions succeed before you flip
environment to production.4
Invoice compliant
The invoice carries both GSTINs, place of supply, SAC code, and the correct
tax breakup.
Next Steps
GST Invoicing
Full invoice format, SAC codes, and B2B fields
E-Invoicing
IRN, QR codes, retry and cancel
Update GST Config API
Endpoint reference
UPI & Mandates
RBI e-mandates for recurring auto-debit