How to invoice and collect money from abroad as a freelancer in India: GST, LUT, FIRC, and purpose code
A foreign client can pay you through Wise, Skydo, PayPal, Upwork, direct SWIFT, a card processor, or a platform. Your Indian file still needs a clear invoice, export-service position, GST/LUT trail, bank proof, and purpose-code story.
This guide is for Indian freelancers, consultants, developers, designers, marketers, agencies, and small service exporters invoicing clients outside India. It is not legal, tax, GST, FEMA, or banking advice. Use it as an operating checklist before a simple foreign payment becomes a bank query or CA cleanup file.
If the payment is coming through Upwork, read the Upwork FIRC and GST guide too. If the money is already stuck at the bank, start with the inward-remittance purpose-code checklist.
01 · Separate the client invoice from the payment rail
The first mistake is treating the payment app as the full compliance file. Wise, Skydo, PayPal, Upwork, Stripe, Dodo, Payoneer, direct SWIFT, or a bank transfer can explain how money moved. They do not automatically explain what you exported, which invoice it paid, which GST position you took, or what your bank should report.
Keep two trails. The commercial trail answers: who is the client, what service was supplied, what invoice was raised, and what amount was due. The payment trail answers: what money arrived, through which rail, on what date, under what reference, and with what bank evidence.
Practical rule: the invoice should make sense even if the payment rail changes. The bank proof should make sense even if the client paid through an intermediary or platform.
02 · What makes a service export under GST
Under the IGST export-of-services framework, the usual checks are not just "foreign client" and "foreign money." The supplier is in India, the recipient is outside India, the place of supply is outside India, payment is received in convertible foreign exchange or Indian rupees where RBI permits it, and the supplier and recipient are not merely establishments of the same person.
That last paragraph is why generic internet advice can be dangerous. A freelancer doing direct design work for a US company, an Indian consultant serving an overseas group company, an agency subcontracting for an Indian intermediary, and a SaaS founder selling through a Merchant of Record may all look like "foreign income" in the bank statement, but the GST analysis can differ.
Do not write "export of services" on every invoice and assume the file is done. Write the actual service description, preserve the client contract or email scope, and ask your CA to confirm the export treatment for the facts.
03 · GST registration, LUT, and zero-rated caution
GST registration and LUT are separate questions. Whether you need GST registration depends on your turnover, activity, customer profile, place-of-supply position, and professional advice. Once GST registration and export treatment are in play, the LUT route is usually handled through Form GST RFD-11 on the GST portal for exporting without payment of integrated tax.
The safer operating habit is to decide the LUT position before the financial year's invoices pile up. If your CA says you are using LUT for eligible exports, save the ARN/acknowledgement and map it to that year's invoices. If the LUT is missing or you charged output IGST, understand the cash-lock and refund trail before assuming it can be patched later.
For the deeper GST cash-flow angle, read the LUT and IGST refund guide.
04 · What to put on the invoice
A foreign-client invoice should be boring and bank-readable. The exact format depends on your entity and CA's template, but a useful invoice normally includes:
- Your details. Legal name, address, PAN and GSTIN where applicable, bank details if you are paid directly.
- Client details. Legal/client name, country, address where available, and the contact or entity that ordered the service.
- Invoice identifiers. Invoice number, invoice date, service period, currency, amount, and payment terms.
- Service description.A plain description like software development, SEO consulting, design services, marketing strategy, product consulting, support services, or content writing. Avoid vague labels like "online work."
- Tax/LUT note. The GST/LUT wording your CA has approved for your facts, not a copied template from a forum.
If you are paid through a platform, the client-facing invoice and the platform payout statement may not look identical. Keep both. Later, your CA or bank may need to understand how the client obligation became the bank credit.
05 · Bank receipt, FIRA/FIRC, and purpose code
Payment success is not the same as export proof. For direct foreign remittances, your bank may ask you to declare or confirm the purpose of the receipt before crediting the funds. For platform or processor payouts, the visible sender may be the platform, payment processor, or banking partner rather than the end client.
FIRA, FIRC, payment advice, inward-remittance advice, NOC, disbursement receipt, UTR, and bank statement line are not always interchangeable. The document available depends on the rail and bank. Ask the payment provider what proof it can provide, then ask your AD bank what it will accept for your file.
Purpose codes should describe the actual service. A developer, SEO consultant, design agency, affiliate marketer, SaaS founder, and management consultant should not all blindly use the same code because a Reddit comment said so. If your work is SEO or digital marketing, read the SEO services purpose-code guide before confirming with the bank or CA.
06 · Platform payouts vs direct foreign transfers
Direct SWIFT or bank transfer is usually easier to explain on paper because the foreign client, invoice, remittance reference, and bank credit can be mapped directly. But it may involve bank follow-up, purpose-code declaration, charges, and exchange-rate spread.
Platforms and payment processors can be smoother operationally, but they add an intermediary. Upwork, PayPal, Stripe, Dodo, Paddle, Lemon Squeezy, Wise, Skydo, Payoneer, and other rails each expose different proof. The right question is not only "did the money arrive?" It is: can I later prove which export invoice this receipt closes?
If you are comparing routes, read the broader Indian SaaS and international payments guide and the Stripe FIRC/payment advice guide.
07 · Documents to save every month
Build one folder per month or per client. For each foreign-client receipt, save:
- Scope record. Contract, email confirmation, purchase order, milestone, statement of work, or platform job record.
- Invoice. Invoice number, date, service period, service description, currency, gross amount, tax/LUT note, and payment terms.
- Payment record. Provider payout receipt, transfer receipt, payout ID, conversion record, fee record, and platform statement if applicable.
- Bank proof. Bank credit line, UTR/reference, inward-remittance advice or payment advice, FIRA/FIRC/NOC where available, and bank email trail.
- GST/LUT file. LUT acknowledgement for the year, GST returns or working papers, platform fee GST invoices, and CA notes on treatment.
- Purpose-code note. The code or service category confirmed for the receipt, with who confirmed it and when.
08 · Common freelancer mistakes
- Sending a casual invoice after payment arrives. Create the commercial record before or at the time of payment, not months later during filing.
- Saving screenshots instead of files. Screenshots help memory, but PDFs, bank statements, payout IDs, email trails, and acknowledgements survive review better.
- Mixing personal remittance logic with export income. Gifts, salary, NRE/NRO transfers, and business export receipts can have different documentation and tax logic.
- Assuming every platform document is a FIRC. Read the label carefully. It may be payment advice, FIRA, NOC, disbursement receipt, or provider proof rather than bank-issued FIRC.
- Picking purpose codes from another freelancer's case. Your code should follow your actual service, rail, and bank process.
09 · Check before the next foreign-client payment
Before you send the next invoice, answer five questions. Is the client and service description clear? Is GST registration/LUT treatment decided for this year? Does the payment rail provide proof your bank and CA can use? Will the bank credit map back to the invoice? Do you know which purpose-code context applies?
If those answers are scattered, fix them while the transaction is still fresh. Foreign-client income is a good problem. Messy export proof is the avoidable part.
Check your foreign-client payment readiness.
NiryatBox's free readiness checker asks a few questions about your export setup and flags LUT, e-BRC, EDPMS, purpose-code, FIRA/FIRC, and bank-handoff gaps. No bank login, no signup, and it gives you a shareable report for your CA.
Run the readiness checker →Made in India. Questions: support@niryatbox.com.
Sources / further reading: GST Council material discussing the IGST export-of-services conditions; GST portal tutorial for furnishing LUT / Form GST RFD-11; RBI Master Direction on Export of Goods and Services. Confirm your exact GST registration, LUT treatment, purpose code, FIRA/FIRC proof, and bank process with your CA and AD bank.