⚡ REST API v1.0 • Public Release

The Programmatic Engine for
Tally Prime Ingestion

Seamlessly convert Indian GST vendor invoices, multi-page PDFs, scans, and bank statements into pristine, verified Tally XML. Reconcile math, validate Modulo-36 GSTINs, and post directly to local Tally instances on port 9000.

🚀 5-Minute Quickstart

Test the complete extraction and XML pipeline with zero setup using our live sample endpoint:

cURL • Extract & Generate XML 200 OK
curl -X GET "https://entryflow.co.in/v1/sample-invoice"   -H "Accept: application/json"

🔑 Authentication

EntryFlow uses standard Bearer Token authentication. Pass your secret API key in the Authorization header. (Free tier evaluations can access public samples without keys).

Authorization: Bearer ef_live_98a72b...
POST

/v1/extract

multipart/form-data

Upload an invoice (PDF, JPG, PNG) up to 25MB. EntryFlow extracts supplier & buyer details, GSTIN checksum validation, line items with HSN/SAC codes, and reconciles tax math automatically.

Python Example:
import requests

url = "https://entryflow.co.in/v1/extract"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("vendor_invoice.pdf", "rb")}
data = {"client_tag": "Apex Engineering Books"}

response = requests.post(url, headers=headers, files=files, data=data)
data = response.json()

print(f"Supplier: {data['supplier']['name']} | GSTIN: {data['supplier']['gstin']}")
print(f"Total: ₹{data['tax_summary']['grand_total']} | Tally XML Length: {len(data['tally_xml'])}")
POST

/v1/tally-xml

application/json

Convert arbitrary extracted structured JSON into Tally Prime XML with auto-created ledger masters (Supplier, Purchase, Input CGST, Input SGST, Input IGST, Round Off).

curl -X POST "https://entryflow.co.in/v1/tally-xml"   -H "Content-Type: application/json"   -d '{"supplier": {"name": "Steel Corp", "gstin": "29AABCU9603R1ZM"}, "tax_summary": {"grand_total": 59000.0}}'
POST

/v1/extract-bank-statement

multipart/form-data

Upload a bank statement PDF (HDFC, ICICI, SBI, Axis, Kotak). Categorizes debit & credit entries into Payment, Receipt, and Contra vouchers with suspense contra accounts and auto-creates the Bank Ledger.

curl -X POST "https://entryflow.co.in/v1/extract-bank-statement?bank_name=HDFC+Bank"   -F "file=@bank_statement.pdf"
GET

/v1/validate-gstin

query parameter

Verify any 15-character Indian GSTIN offline using official Modulo-36 ISO-7064 checksum calculation.

curl -X GET "https://entryflow.co.in/v1/validate-gstin?gstin=29AABCU9603R1ZM"
WEBHOOK

/v1/whatsapp/webhook

Free Meta Cloud API & UltraMsg Compatible

Clients can forward bill photos directly via WhatsApp. EntryFlow receives the webhook, runs Gemini OCR, creates the Tally purchase voucher, and replies with extraction details and an instant XML download link.

💡 Free Meta Cloud API Setup (1,000 Free Conversations/Month):
  1. Set Callback URL: https://entryflow.co.in/v1/whatsapp/webhook
  2. Verify Token: entryflow_wa_token_2026 (or configured in env)
  3. Subscribe to: messages webhook event
COMPANION

localhost:9000 Sync Bridge

Download tally_bridge.py →

A lightweight, zero-dependency Python daemon that runs on the accountant's desktop. It receives XML from EntryFlow via HTTP and posts it directly into Tally Prime's local XML server (port 9000) using native Windows socket connections.

# Run on desktop alongside Tally Prime:
python tally_bridge.py --tally-host 127.0.0.1 --tally-port 9000