How it works

How to file GST on export of services, start to finish

Five stages, each producing the artefact the next one needs — from a platform payout statement to a GSTR-1 Table 6A export and a GSTR-3B summary. Nothing here requires you to know the difference between Table 3.1(b) and Table 6.1, but everything is built so the numbers land where they should.

  1. 1

    Import your earnings

    Download the payout statement from whichever platform paid you and upload the CSV. SahiInvoice reads the amount, currency, FX rate, receipt date, and payer, then fingerprints each row so re-uploading an overlapping month never creates duplicates.

    • Supports Toptal, Upwork, Payoneer, Wise, Stripe, and Deel layouts
    • Duplicate detection keyed on source and external reference
    • Rows that can't be parsed are reported instead of silently dropped
  2. 2

    Generate export invoices

    Each receipt becomes a GST-compliant export invoice: sequential numbering scoped to the financial year, the INR value at the recorded FX rate, your LUT reference, and the declaration that the supply is made without payment of IGST.

    • Numbering follows EXP/<financial year>/<sequence>
    • LUT reference and export declaration applied automatically
    • Downloadable as PDF for the client or your records
  3. 3

    Reconcile receipts to proof

    An invoice alone isn't proof of export. SahiInvoice tracks whether the foreign receipt has been matched to its INR bank credit and supporting document, so gaps are visible while they're still fixable.

    • Foreign receipt matched to invoice and INR credit
    • Missing FIRC/BRC surfaced as a compliance alert
    • Aging tracked so old unmatched receipts escalate
  4. 4

    Stay ahead of compliance

    The compliance engine runs continuously rather than at filing time. It watches LUT validity, running financial-year turnover against the ₹20 lakh threshold, invoice and receipt aging, and payer names that suggest Indian TDS applies.

    • LUT expiry warnings before exports lose zero-rating
    • Turnover threshold tracking across the financial year
    • TDS detection on Indian-looking payers
  5. 5

    File, or hand it to your CA

    Produce a GSTR-1 CSV covering export invoices, a GSTR-3B summary mapped to the actual return tables, or a CA package for the period. SahiInvoice prepares filings — it does not file on your behalf.

    • GSTR-1 CSV with zero-rated export rows
    • GSTR-3B summary across Tables 3.1, 4, and 6.1 with due date
    • Read-only CA portal with comments and filing status

Common questions

Does SahiInvoice file my returns?

No. It prepares filing-ready exports and summaries that you or your CA submit on the GST portal. Nothing is transmitted to the government from here.

Do I need a GST registration to start?

No. Many users start before registering, precisely to track turnover against the ₹20 lakh threshold. Once you register and file an LUT, invoices pick up the reference automatically.

What if my platform isn't supported?

Any CSV with the essential columns — date, amount, currency, payer — can be imported. Rows that don't parse are reported so you can correct and re-upload.

What happens if my LUT expires mid-year?

You get warned ahead of the expiry date. An expired LUT means exports must be made on payment of IGST and refunded later, so invoices issued after expiry are flagged.

How does my CA get access?

You generate a portal link from the CA Collaboration page. They see reconciled invoices, receipts, and filing status read-only — no credential sharing, and access can be revoked.

Where is my data stored?

In your own Supabase project when configured, with row-level security scoping records to your account. The demo mode you can explore right now keeps everything in memory and resets on restart.

Wondering how this maps to your situation? Browse the use cases.

Get your next filing done in minutes

Import a statement and see your export invoices, alerts, and GSTR files generated instantly.