FilFlo and Tally: How Your B2B Order Operations Connect to Your Accounts
Tally is the accounting language many Indian businesses already understand. FilFlo is built to complement it, not replace it. FilFlo handles the operational layer — B2B orders from Blinkit, Zepto, distributors, and modern trade, including IRN e-invoicing, e-way bills, credit notes, and GRN tracking — while Tally continues to handle accounts, ledgers, GST filings, and financial reporting.

⚡ Key Takeaways
- Tally handles accounts, GST filings, ledger entries, and financial reporting — it stays as your system of record.
- FilFlo handles B2B order operations — receiving POs from Blinkit/Zepto/distributors, managing fulfilment, generating IRN e-invoices and e-way bills, tracking GRNs.
- The connection is export and API-pull, not a live sync: a Tally Party Name field on every customer plus a scoped API key through which Tally-side accounting pulls invoices.
- Multi-state brands run one invoicing profile per GSTIN, each with its own invoice series per financial year — a Haryana dispatch draws from the Haryana series.
- No double-entry: FilFlo is the operational source; Tally is the accounting record. The boundary is clear.
Short Answer
FilFlo does not replace Tally. It sits before Tally in the operating workflow. FilFlo receives the B2B order, checks stock, creates a picklist, generates the IRN e-invoice, raises the e-way bill on dispatch, tracks delivery, and closes the loop with GRN confirmation.
Once the operational event is complete, the accounting record can move into Tally — by export, or pulled directly by your accounting team through a scoped API key. This keeps Tally clean as the ledger and GST system while giving operations teams a purpose-built place to manage the work that happens before accounting.
Why Indian Businesses Run Tally — and Why It's Not Enough for B2B Operations
Tally has been the backbone of Indian business accounting for three decades. It handles GST return computation, voucher entry, party ledgers, payment reconciliation, and financial reporting in a way that's deeply familiar to Indian CA firms and accounts teams. Most D2C founders we talk to have Tally running on someone's laptop in the office, maintained by an accountant or CA.
The problem arises when the same brand starts receiving B2B purchase orders from Blinkit or a distributor. Tally is an accounting tool — it records transactions. It doesn't manage an order workflow. It doesn't import a PO file from Blinkit and turn it into a FIFO picklist. It doesn't track whether the goods were received and confirmed via GRN, or what happens when the channel receives less than you invoiced. It doesn't tell you your fill rate for the week.
This is the gap FilFlo fills: not by competing with Tally, but by handling the order lifecycle that happens before the transaction becomes an accounting entry.
The Two Layers: Operations and Accounting
Accounting layer — Tally
- GSTR-1 and GSTR-3B return filing
- Journal entries and voucher management
- Party ledger and outstanding receivables
- Bank reconciliation and payment tracking
- P&L, balance sheet, financial reports
Operations layer — FilFlo
- B2B order intake (Blinkit/Zepto/Swiggy PO files, distributor orders)
- Order approval, stock allocation, FIFO picklists
- IRN / e-invoice generation at invoicing step
- E-way bill generation on dispatch + NIC reconciliation
- GRN confirmation, credit/debit notes, fill rate reporting
Where IRN Fits — and Why It Belongs in FilFlo
Under India's GST e-invoicing mandate, B2B invoices above certain thresholds must be registered with the Invoice Registration Portal (IRP) before dispatch. The IRP returns an IRN — a unique hash that validates the invoice — along with an acknowledgement number and a signed QR code. The IRN must appear on the physical invoice accompanying the goods.
In a manual workflow, an ops manager would: finish picking an order, switch to a browser to log into the GST portal or Tally's e-invoice module, manually enter the buyer's GSTIN, invoice details, and line items, fetch the IRN, copy it back into the invoice document, and then print. This takes 5–15 minutes per order and is error-prone — and every error surfaces later as a mismatch your accountant has to untangle.
FilFlo's approach
When an order moves to the Invoiced stage in FilFlo:
- FilFlo picks the invoicing profile of the dispatching warehouse's GSTIN and the next number in that profile's series
- FilFlo calls the IRP with the invoice details (buyer GSTIN, line items with HSN, tax breakdown)
- IRP returns the IRN, acknowledgement number, and signed QR code
- FilFlo embeds the IRN and QR code in the e-invoice PDF — compliant, accurate, timestamped
- Invoice data becomes available to Tally as an accounting entry, via export or API pull
The ops team doesn't log into the GST portal. The accounts team doesn't re-enter the invoice in Tally — they import it. One source of truth, no double-entry.
Per-GSTIN Invoicing Profiles and Per-FY Series
This is the part multi-state brands feel first. GST registration is per state, so a brand dispatching from warehouses in Haryana and Maharashtra is, for invoicing purposes, two sellers. Each GSTIN needs its own invoice series, and each series resets per financial year. Run this by hand across two or three entities and a shared Excel numbering sheet, and sooner or later two invoices collide on a number — or a Haryana dispatch goes out on a Maharashtra series, which is the kind of error a GST audit notices.
FilFlo models this directly with invoicing profiles — one per GSTIN, each carrying its own legal name, address, state code, invoice prefix, and sequential counter per financial year. When an order is invoiced, FilFlo selects the profile from the dispatching warehouse automatically: a Haryana warehouse dispatch must use the Haryana series, and does, every time. The same profile logic decides the tax split — CGST plus SGST when buyer and seller are in the same state, IGST when they are not — across the standard slabs, including the 40% slab that applies to sweetened beverages.
For the accounts team, this means every invoice that reaches Tally already belongs to the right entity, on the right series, with the right tax heads. The Tally-side work is recording, not repairing.
See the Tally + FilFlo Workflow Live
Book a 30-minute demo to see how FilFlo generates IRN invoices and e-way bills, and how your accountant pulls the data into Tally — without any double-entry.
The Full B2B Order Lifecycle in FilFlo
This is the workflow that FilFlo manages — from Blinkit sending a PO to your accounts team seeing the closed order in Tally:
Blinkit PO file uploaded to FilFlo (or lands automatically). Line items mapped to the product master via channel SKU codes. Order created against the right B2B customer.
Ops reviews quantities vs available stock. Any quantity cut needs a reason — Short Supply, Out of Stock, or Quality Issue. Order approved for picking.
Picklist generated with FIFO rack allocations by inward date. Warehouse picks by rack; shortfalls recorded per line. Ready for invoice.
IRN fetched from the IRP automatically on the correct GSTIN's series. GST e-invoice generated with signed QR code.
Transporter, AWB, vehicle number, and box count recorded. E-way bill auto-generated for inter-state movement. In-transit ageing tracked.
Goods arrive at the Blinkit dark store, feeder warehouse, or distributor. Delivery date and proof of delivery captured.
Buyer's received quantities entered per product; mismatches captured with reasons (short received, damage received, excess, wrong product). Fill rate computed. Invoice data available to Tally.
E-Way Bills: Auto-Generated on Dispatch, Reconciled with NIC
The e-invoice is only half the compliance story; the truck needs an e-way bill. In FilFlo, the EWB is generated automatically at dispatch for inter-state movement, with the transport distance computed from an internal pincode directory rather than typed in by hand. The transporter, vehicle number, and AWB recorded at dispatch flow straight into the bill.
E-way bills expire, and an expired EWB on a moving truck is a detention risk. FilFlo's E-Way Bills screen tracks the whole fleet's compliance in one place: every active bill with a live validity countdown ("2d 14h left"), KPI cards for bills expiring within 24 hours and bills already expired, and a one-click Reconcile with NIC action that matches FilFlo's records against the government portal so the two never quietly drift apart.
For the accounts team, this means the EWB trail — which GST officers can and do ask for — lives alongside the invoice it belongs to, not in a separate portal login someone checks occasionally.
Credit Notes and Debit Notes: The Corrections Layer
B2B distribution generates corrections constantly — a truck refused at the DC, a partial delivery, goods coming back. Each of those is a financial event that must eventually land in Tally, and FilFlo types them explicitly so the paper trail is unambiguous.
Credit notes in FilFlo carry a type — RTV (return to vendor, from the buyer's perspective), RTO (return to origin), Partially Delivered, or Undelivered — and each credit note generates its own IRN, because under GST a credit note is a registrable document like the invoice it corrects. A "Material return expected" checkbox links the financial credit to a physical return inward when goods are actually coming back; a pure pricing adjustment leaves it unchecked, so the warehouse isn't waiting for a truck that will never arrive.
On the purchase side, the same discipline applies. When supply arrives short, damaged, or gets rejected, ops records a purchase return against the supplier's PO, and FilFlo auto-generates a supplier debit note for the recovery. Sales credit notes and supplier debit notes both travel to Tally with references to the documents they correct — so the party ledger your accountant maintains reconciles line by line against what operations actually did.
What Tally Handles vs What FilFlo Handles
| Task | Tally | FilFlo |
|---|---|---|
| GSTR-1 / GSTR-3B filing | ✅ Primary tool | ❌ |
| Journal entries and voucher management | ✅ | ❌ |
| Payment reconciliation with buyers | ✅ | ❌ |
| Party ledger | ✅ Financial | ✅ Operational party ledger |
| P&L and balance sheet | ✅ | ❌ |
| B2B order intake (Blinkit/Zepto/Swiggy PO files) | ❌ | ✅ |
| B2B order lifecycle (Open → GRN Entered) | ❌ | ✅ |
| IRN / GST e-invoice generation | ⚠️ Via e-invoice module | ✅ Automatic at invoicing step |
| Per-GSTIN invoice series per FY | ⚠️ Manual setup per company | ✅ Invoicing profiles |
| E-way bill generation + NIC reconciliation | ⚠️ Via e-way module | ✅ Auto on dispatch, validity tracking |
| Typed credit notes (RTV/RTO/Partially Delivered/Undelivered) with IRN | ❌ | ✅ |
| Supplier debit notes from purchase returns | ❌ | ✅ Auto-generated |
| Picklist for warehouse (FIFO by inward date) | ❌ | ✅ |
| GRN confirmation from buyer | ❌ | ✅ |
| Fill rate and sales loss reporting | ❌ | ✅ |
| Procurement alerts | ❌ | ✅ |
| Procurement PO with supplier inward | ⚠️ Basic tracking | ✅ Full PO lifecycle |
The IRN→Tally Flow: How It Actually Works
Many Tally users ask: if Tally already has an e-invoicing module, why do I need FilFlo to generate IRNs? The answer is that Tally's e-invoicing requires you to create the invoice in Tally first, then push it to the IRP. FilFlo generates the IRN as part of the operational order workflow — no manual Tally entry required at that step. Here is the exact sequence:
IRN Generation Internals in FilFlo
Order Invoiced in FilFlo
Your ops team moves the order from Picked to Invoiced. FilFlo selects the invoicing profile based on the dispatching warehouse's GSTIN and takes the next number in that profile's series for the financial year.
IRP Payload Built
FilFlo assembles the IRP payload: seller GSTIN, buyer GSTIN from the B2B customer record, HSN code per product line, GST slab (0/5/12/18/28%, plus the 40% slab for sweetened beverages), CGST+SGST or IGST based on state codes, assessable value, and total invoice value.
E-Invoicing Service Call
FilFlo calls the IRP through its e-invoicing integration. The IRP registers the invoice and returns a unique IRN (a 64-character hash) and a signed QR code.
IRN Stored Against the Order
FilFlo stores the IRN, acknowledgement number, ack date, signed invoice, and signed QR code on the order record. The status is active; from this moment a 24-hour cancellation window applies.
Invoice PDF Generated
The e-invoice PDF is generated with the IRN printed on it, the QR code embedded, the invoice number from the correct series, buyer/seller GSTINs, and line items with HSN and GST breakdowns. On dispatch, the e-way bill is generated against this invoice.
Tally Pulls the Invoice Data
Your accounting team retrieves invoice data from FilFlo — as an export, or through a scoped API key against FilFlo's reports API that returns invoice records and PDFs. Each record carries the customer's Tally Party Name, so the entry books against the exact ledger name your accountant already uses. The accountant records it in Tally as a sales voucher; GSTR-1 preparation then proceeds in Tally as usual.
Cancellations and corrections, the compliant way
Mistakes happen after the IRN exists — a duplicate invoice, a data-entry error, a buyer cancelling. The rules here are strict, and FilFlo encodes them rather than leaving them to memory:
- Within 24 hours: the IRN can be cancelled. FilFlo requires one of the four IRP reason codes — 1 = Duplicate, 2 = Data Entry Mistake, 3 = Order Cancelled, 4 = Others — and records who cancelled and why.
- After 24 hours: cancellation is no longer permitted; the correction becomes a credit note, issued from FilFlo with its own IRN and a reference to the original invoice.
- Either way, the document trail that reaches Tally is consistent: no orphaned invoices, no corrections applied only in one system.
What stays in Tally vs. what FilFlo generates
The clean boundary: FilFlo is the operational source of every B2B invoice. Tally is the accounting record. Here is the data that flows between them:
FROM FilFlo → TO Tally (export / API pull)
- • Invoice number, date, and IRN
- • Tally Party Name and GSTIN
- • Line items: product name, HSN, quantity, unit price
- • GST breakdown: CGST, SGST, IGST per line
- • Assessable value and total invoice value
- • Credit notes (with their own IRNs) referencing original invoices
- • Supplier debit notes raised from purchase returns
STAYS IN Tally
- • GSTR-1 and GSTR-3B filing
- • Journal entries and voucher management
- • Party ledger (financial — outstanding receivables)
- • Bank reconciliation
- • Payroll and expense management
- • P&L and balance sheet
- • TDS/TCS deduction entries
The Tally Party Name field and the scoped API key
Two small pieces of plumbing make the handoff reliable, and it's worth being precise about them because "Tally integration" is an overclaimed phrase in this market.
First, every B2B customer in FilFlo carries a Tally Party Name field on its master record. Channel names and ledger names rarely match — the dark store your ops team ships to and the party your accountant bills are spelled differently — so FilFlo stores the exact ledger name Tally expects and stamps it on every exported invoice. Reconciliation stops being a fuzzy-matching exercise.
Second, access is a scoped API key: your accounting side gets a key that can read invoice data from FilFlo's reports API and nothing else — it cannot touch orders, inventory, or settings. It is an export/API-pull relationship, not a live two-way sync: Tally pulls what it needs on its own schedule, and nothing writes into your books without the accountant in the loop. For most CA-managed setups, that is exactly the control they want.
Multi-entity GSTIN management
If your brand has warehouse locations registered under different GSTINs (e.g., a Maharashtra warehouse and a Haryana warehouse), FilFlo handles this with multiple invoicing profiles — one per GSTIN entity, each with its own invoice prefix and per-financial-year sequential counter.
When an order is invoiced, FilFlo automatically uses the correct profile based on the dispatching warehouse. The invoice data reaching Tally is tagged to the correct entity's GSTIN and series. No manual routing required.
Frequently Asked Questions
Does FilFlo replace Tally?
No. Tally remains your system of record for accounts, GST return filings (GSTR-1, GSTR-3B), payment reconciliation, and financial reporting. FilFlo handles the operational layer: receiving B2B orders from Blinkit/Zepto/distributors, managing the fulfilment lifecycle, and generating IRN e-invoices and e-way bills. These are two different layers with a clean boundary between them.
Is the FilFlo–Tally connection a live two-way sync?
No, and deliberately so. The relationship is export and API-pull, not a live sync. FilFlo keeps a Tally Party Name field on every B2B customer so records reconcile by the exact ledger name your accountant uses, and your Tally-side accounting team gets a scoped API key through which it pulls invoice data from FilFlo's reports API on its own schedule. Nothing writes into your Tally books automatically, which keeps the accountant in control of what enters the ledger.
If FilFlo generates the e-invoice and IRN, does it duplicate what Tally does?
No. Many Tally users generate e-invoices through Tally's e-invoicing module or through a separate portal. FilFlo generates the IRN as part of the operational workflow — when an order moves to the Invoiced stage, the IRN is fetched automatically. The invoice data is then available to Tally as an accounting entry via export or API pull. There's no duplication: FilFlo is the operational source of the invoice; Tally records it as a transaction.
What data flows from FilFlo to Tally?
The key data flow is invoice data: after FilFlo generates an IRN and invoices a B2B order, the invoice details (Tally party name, GSTIN, line items with HSN, GST amounts, IRN) can be exported or pulled through the scoped API key for entry into Tally. Credit notes — which carry their own IRNs — and supplier debit notes raised from purchase returns follow the same path. Tally then uses this data for GST return computation and ledger entries.
How does FilFlo handle IRN cancellation and corrections?
An IRN-registered invoice can be cancelled only within 24 hours of generation, and FilFlo enforces this window. When cancelling, ops picks one of the four IRP reason codes: 1 = Duplicate, 2 = Data Entry Mistake, 3 = Order Cancelled, 4 = Others. Past 24 hours, the correct instrument is a credit note, which FilFlo issues with its own IRN and a reference to the original invoice — so the audit trail your accountant sees in Tally stays clean.
Does FilFlo handle e-way bills too?
Yes. When an order is dispatched, FilFlo auto-generates the e-way bill for inter-state movement, computing distance from an internal pincode directory. An E-Way Bills screen tracks every active EWB with a validity countdown (for example '2d 14h left'), KPIs for bills expiring within 24 hours or already expired, and a one-click Reconcile with NIC action to match FilFlo's records against the government portal.
What stays in Tally and what stays in FilFlo?
In Tally: GST filings (GSTR-1, GSTR-3B), journal entries, payment receipts, bank reconciliation, payroll, P&L and balance sheet. In FilFlo: B2B order intake and lifecycle (Open → GRN Entered), IRN e-invoice and e-way bill generation, credit and debit notes, picklist and dispatch management, fill rate reports, procurement alerts, and purchase order management. The two systems are separated by function — operations in FilFlo, accounting in Tally.
Running Tally for Accounts? Add FilFlo for B2B Ops.
See how FilFlo handles your Blinkit and distributor orders — from PO import to IRN invoice and e-way bill — while your Tally setup stays exactly as it is.