A good software development invoice tells the client exactly what they are paying for (which sprint, milestone or hours), carries every field GST requires, and, for overseas clients, includes the LUT line and full bank details. For most Indian software development work the SAC code is 998314 (IT design and development services), and an export invoice under LUT must state "Supply meant for export under LUT without payment of IGST". The same invoice then becomes a row on your monthly EDF.
Key takeaways
- Include your GSTIN, a sequential invoice number, date, client details, SAC, description, value and tax (or the LUT line for exports).
- Describe the work precisely: project, sprint or milestone, period, and reference to the SOW or PO.
- Domestic clients: charge CGST plus SGST or IGST depending on place of supply. Overseas clients: zero-rated under LUT, or IGST paid and refund claimed.
- Export invoices should show currency, SWIFT details and payment terms.
- Keep the invoice details aligned with your EDF row: same number, date, currency, amount and SAC.
The fields every software invoice needs
| Field | Domestic invoice | Export invoice |
|---|---|---|
| "Tax Invoice" heading | Yes | Yes |
| Your name, address, GSTIN, PAN | Yes | Yes |
| Invoice number (sequential, unique per financial year) and date | Yes | Yes |
| Client name and address | Yes | Yes, with country |
| Client GSTIN | If registered | Not applicable |
| Place of supply | State name | Outside India (country) |
| SAC code | 998314 (or other IT code as appropriate) | Same |
| Description of services | Project, milestone or hours | Same, in detail |
| Taxable value | In INR | In foreign currency (and INR equivalent if you show it) |
| Tax | CGST + SGST or IGST | Nil under LUT, or IGST if paying and claiming refund |
| LUT declaration | Not applicable | "Supply meant for export under LUT without payment of IGST" |
| Bank details | Account, IFSC, UPI | Account, bank name, SWIFT code |
| Payment terms | Due date | Due date and currency |
| Signature | Authorised signatory | Authorised signatory |
Our guide to every mandatory GST invoice field covers the domestic side in more depth.
Choosing the SAC code
Software development usually fits 998314, IT design and development services. Related work may sit under neighbouring codes: 998313 for IT consulting and support, 998315 for hosting and IT infrastructure, 998319 for other IT services. If one invoice covers development and hosting, either split the lines with separate SACs or ask your CA which code fits the main supply. The SAC code finder lists the options.
Describing the work so it gets paid
Clients' finance teams pay invoices they can match to a contract. Vague descriptions slow that down.
Weak: "Software development services – ₹4,00,000"
Strong: "Development of patient booking module (Milestone 2 of 4: API integration and admin dashboard) per SOW-07 dated 12 August 2026. Delivered 28 October 2026; accepted by email 31 October 2026."
For time-and-materials billing, attach or summarise hours: "Backend development, 160 hours at USD 38/hour, 1–31 October 2026, as per approved timesheet."
Sample 1: milestone invoice to an overseas client
TAX INVOICE Larkspur Code Works Pvt Ltd · [Address], Pune · GSTIN [number] · PAN [number]
Invoice no.: LCW/26-27/0091 · Date: 31-10-2026 Bill to: Fairhaven Clinics LLC, [address], Austin, Texas, USA Place of supply: Outside India (USA)
Description SAC Amount (USD) Patient booking module – Milestone 2 of 4 (API integration, admin dashboard), per SOW-07 dated 12-08-2026 998314 12,500.00 Total 12,500.00 Amount in words: US Dollars Twelve Thousand Five Hundred only Supply meant for export under LUT without payment of IGST. LUT ARN: [number] Payment due within 30 days (by 30-11-2026) by SWIFT transfer. Bank charges outside India to be borne by remitter. Bank: [bank name], A/c [number], SWIFT [code] For Larkspur Code Works Pvt Ltd — Authorised Signatory
Sample 2: domestic time-and-materials invoice
A Bengaluru client billed by a Pune developer: IGST at the applicable rate applies because the place of supply is a different state. If the client were in Maharashtra, CGST and SGST would apply instead. Lines would read, for example, "Frontend development, 120 hours at ₹2,200/hour, October 2026 – ₹2,64,000", followed by the tax line and the total in words. Our GST invoice generator works out the tax split automatically.
From invoice to EDF
Every export invoice becomes one row in Part 2B of the EDF for the month in which it was raised. For Larkspur's invoice above:
| Part 2B column | Value from the invoice |
|---|---|
| Recipient name and address | Fairhaven Clinics LLC, Austin, Texas |
| Country | USA |
| Invoice no. and date | LCW/26-27/0091, 31-10-2026 |
| Currency and amount | USD 12,500 |
| NRV | USD 12,500 (unless a known deduction applies) |
| Description | Software development – Milestone 2, SOW-07 |
| SAC | 998314 |
| Contract no. and date | SOW-07, 12-08-2026 |
Field 1.1 would be "Software", and field 1.4 "Internet". The October EDF is due by 30 November 2026. Software exporters outside an SEZ can file with their AD bank or STPI. When payment arrives, check that the FIRA carries a software purpose code such as P0802 or P0807, confirmed with your bank.
Consistency is the point: if the invoice says USD 12,500 and the EDF says USD 12,000, the bank will ask why.
Common mistakes on software invoices
- Missing LUT line on export invoices, which can raise questions about why no IGST was charged.
- Invoicing in INR when the contract is in USD, creating a currency mismatch at realisation.
- Reusing invoice numbers across financial years without a year prefix.
- One vague line for six months of mixed work.
- Wrong SAC copied from an old template.
This is general information, not legal or tax advice.
Frequently asked questions
What SAC code should I use for software development services?
Software development usually falls under SAC 998314, IT design and development services. IT consulting (998313), hosting (998315) and other IT services (998319) have their own codes. Confirm the right code for your work with your CA.
What must an export invoice for software services include?
Your details and GSTIN, invoice number and date, client name and overseas address, place of supply outside India, SAC, description, amount in foreign currency, the LUT declaration (if under LUT), bank details with SWIFT code, payment terms and signature.
Do I charge GST on software development for a foreign client?
Export of services is zero-rated when the Section 2(6) IGST Act conditions are met. Most exporters invoice under LUT without IGST and print the LUT line. Alternatively, you can pay IGST and claim a refund.
Should a milestone invoice reference the contract?
Yes. Referencing the SOW or contract number, the milestone and the acceptance date helps the client pay faster and gives you the contract reference you need for the EDF's Part 2B.
How does a software invoice link to the EDF?
Each export invoice becomes one row in Part 2B of the EDF for the month it was raised, using the same invoice number, date, currency, amount and SAC. Keep the figures identical to avoid questions from your bank.
Bottom line
A strong software invoice is specific, compliant and consistent with your EDF. Get the SAC, description, LUT line and bank details right every time. Create one with the free export invoice generator, then add it to your monthly EDF form.
This guide is general information for Indian businesses, not legal or tax advice. Rules and bank processes change — confirm specifics with your AD bank or chartered accountant.