Custom TallyPrime TDL Development and Automation
Budget: ₹1,500 – ₹12,500 INR
TallyPrime Custom TDL Development — Sales Invoice Automation with e-Invoice, e-Way Bill & API Integration
We are looking for an experienced TallyPrime TDL developer to build a custom module that automates the complete sales invoice lifecycle — from fetching invoice data via HTTP API to generating e-Invoices, e-Way Bills, and pushing QR invoice PDFs back to our server.
WHAT THE TDL MUST DO
=====================
1. Fetch invoice data from our HTTP API (JSON response, API Key auth)
2. Create Sales Vouchers in Tally automatically from the API data
3. Generate e-Invoices (IRN via IRP) for each voucher
4. Generate e-Way Bills using transport details from the API
5. Generate invoice PDFs with signed QR code and push them back to our API as base64-encoded JSON
6. Push processing logs (success/failure per invoice) to a separate log API endpoint
PROCESSING MODES (must support all three, user-selectable per run):
- Mode 1: Voucher creation only (for testing / dry runs)
- Mode 2: Voucher + e-Invoice
- Mode 3: Full processing — Voucher + e-Invoice + e-Way Bill + PDF push
INBOUND API DETAILS
====================
Our API returns a JSON object with a top-level "date" field (single invoice date for the entire batch) and an "invoices" array. Sample:
{
"date": "2026-04-10",
"invoices": [
{
"Invoice Sequence": 1,
"BillTo Party": "ABC Interiors Pvt. Ltd.",
"Veh Number": "MH12SX5946",
"PO Num": "PO-4250-260300967",
"PO Date": "2026-04-10",
"CustName": "Rahul",
"Gross Amt": 8201.48,
"Packets": 6,
"ShipTo Address": "B-204, Green Valley Apt, Baner Road, Pune 411045",
"LS_Del_Loc": "PUN",
"Remarks": "260329_D2C_PUN_2",
"PINCode": "411045",
"state": "Maharashtra",
"GST No.": "27AABCS1234R1Z5",
"Billing address": "12, Industrial Area, Sector 24, Faridabad 121005",
"Bill to": "Faridabad",
"Ship to": "Pune",
"Mode of Tpt": "Road",
"line_items": [
{
"item_name": "Panel Board 18mm",
"hsn_code": "94035000",
"qty": 2,
"unit": "Nos",
"rate": 3500.00
}
]
}
]
}
Key points:
- "date" is at top level, common for all invoices in the batch
- Line items only have item_name, hsn_code, qty, unit, rate — NO tax fields. Tally must compute GST from its own stock item masters and Place of Supply rules.
- All dates are in YYYY-MM-DD format
- Auth is via X-API-Key header on all endpoints
VOUCHER CREATION MAPPING
==========================
- Voucher Date: from top-level "date"
- Party Ledger: from "BillTo Party" (must match existing Tally ledger)
- GST: from "GST No.", "state", address fields for Place of Supply
- Line items: mapped to stock items (must exist in Tally masters)
- Transport: Vehicle Number and Mode of Transport for e-Way Bill
- PO Num, Remarks, CustName captured in reference/narration fields
- If a ledger or stock item is missing, log error, skip that invoice, continue with rest
E-INVOICE & E-WAY BILL
========================
After voucher creation (Modes 2 & 3):
- Trigger Tally's built-in IRP integration for IRN generation
- Capture IRN, Ack No., Ack Date, signed QR code
After e-Invoice (Mode 3 only):
- Generate e-Way Bill with vehicle number, transport mode (Road/Rail/Air/Ship mapped to codes 1-4), ship-to address, PIN code
- Capture EWB number and validity date
PDF PUSH (Mode 3 only):
- Generate invoice PDF with embedded signed QR code
- Base64-encode the PDF and push via HTTP POST as JSON:
{
"invoice_sequence": 1,
"irn": "a1b2c3d4...",
"ewb_number": "3210...",
"voucher_number": "SI/001/2026-27",
"invoice_date": "2026-04-10",
"pdf_base64": "<base64-encoded-pdf>"
}
- Retry up to 3 times on failure (configurable)
ERROR LOGGING
==============
The TDL must maintain logs within Tally AND push them to our log API endpoint (HTTP POST, JSON, API Key auth) after every run:
{
"run_timestamp": "2026-04-10T14:30:00",
"processing_mode": 3,
"total_invoices": 5,
"success_count": 4,
"failed_count": 1,
"invoices": [
{
"invoice_sequence": 1,
"voucher_status": "Success",
"voucher_number": "SI/001/2026-27",
"einvoice_status": "Success",
"irn": "...",
"ewb_status": "Success",
"ewb_number": "...",
"pdf_push_status": "Success"
},
{
"invoice_sequence": 2,
"voucher_status": "Failed",
"voucher_error": "Ledger not found",
"einvoice_status": "Skipped",
"ewb_status": "Skipped",
"pdf_push_status": "Skipped"
}
]
}
A log viewer screen must also be available inside Tally.
CONFIGURATION (all must be changeable without editing TDL source):
- Inbound API URL, HTTP method (GET/POST), API Key
- Outbound PDF push URL, API Key
- Error log API URL, API Key
- Default Sales Ledger name
- Retry count & delay for outbound push
- Default transport distance for e-Way Bill
- Default processing mode (1/2/3)
UI EXPECTATIONS IN TALLY
==========================
- Menu item / button on TallyPrime Gateway ("Fetch & Process Invoices")
- Processing mode selector before each run
- Progress indicator ("Processing invoice 3 of 12")
- Settings/configuration screen
- Log viewer screen
- Confirmation dialog showing mode and endpoint before processing
TALLY VERSION
==============
We are running TallyPrime 7.2. The TDL must be developed and tested for this version.
WHAT WE NEED FROM YOU
======================
1. Working .tdl or .tcp file deployable on TallyPrime
2. Configuration documentation
3. Testing with our API endpoints (we will provide test endpoints)
4. Bug fixes during a 2-week acceptance period after delivery
Please share in your proposal:
- Your experience with TDL HTTP/API integrations
- Any prior work with e-Invoice/e-Way Bill automation in TDL
- Estimated timeline and cost
- TallyPrime versions you have tested on
We are looking for an experienced TallyPrime TDL developer to build a custom module that automates the complete sales invoice lifecycle — from fetching invoice data via HTTP API to generating e-Invoices, e-Way Bills, and pushing QR invoice PDFs back to our server.
WHAT THE TDL MUST DO
=====================
1. Fetch invoice data from our HTTP API (JSON response, API Key auth)
2. Create Sales Vouchers in Tally automatically from the API data
3. Generate e-Invoices (IRN via IRP) for each voucher
4. Generate e-Way Bills using transport details from the API
5. Generate invoice PDFs with signed QR code and push them back to our API as base64-encoded JSON
6. Push processing logs (success/failure per invoice) to a separate log API endpoint
PROCESSING MODES (must support all three, user-selectable per run):
- Mode 1: Voucher creation only (for testing / dry runs)
- Mode 2: Voucher + e-Invoice
- Mode 3: Full processing — Voucher + e-Invoice + e-Way Bill + PDF push
INBOUND API DETAILS
====================
Our API returns a JSON object with a top-level "date" field (single invoice date for the entire batch) and an "invoices" array. Sample:
{
"date": "2026-04-10",
"invoices": [
{
"Invoice Sequence": 1,
"BillTo Party": "ABC Interiors Pvt. Ltd.",
"Veh Number": "MH12SX5946",
"PO Num": "PO-4250-260300967",
"PO Date": "2026-04-10",
"CustName": "Rahul",
"Gross Amt": 8201.48,
"Packets": 6,
"ShipTo Address": "B-204, Green Valley Apt, Baner Road, Pune 411045",
"LS_Del_Loc": "PUN",
"Remarks": "260329_D2C_PUN_2",
"PINCode": "411045",
"state": "Maharashtra",
"GST No.": "27AABCS1234R1Z5",
"Billing address": "12, Industrial Area, Sector 24, Faridabad 121005",
"Bill to": "Faridabad",
"Ship to": "Pune",
"Mode of Tpt": "Road",
"line_items": [
{
"item_name": "Panel Board 18mm",
"hsn_code": "94035000",
"qty": 2,
"unit": "Nos",
"rate": 3500.00
}
]
}
]
}
Key points:
- "date" is at top level, common for all invoices in the batch
- Line items only have item_name, hsn_code, qty, unit, rate — NO tax fields. Tally must compute GST from its own stock item masters and Place of Supply rules.
- All dates are in YYYY-MM-DD format
- Auth is via X-API-Key header on all endpoints
VOUCHER CREATION MAPPING
==========================
- Voucher Date: from top-level "date"
- Party Ledger: from "BillTo Party" (must match existing Tally ledger)
- GST: from "GST No.", "state", address fields for Place of Supply
- Line items: mapped to stock items (must exist in Tally masters)
- Transport: Vehicle Number and Mode of Transport for e-Way Bill
- PO Num, Remarks, CustName captured in reference/narration fields
- If a ledger or stock item is missing, log error, skip that invoice, continue with rest
E-INVOICE & E-WAY BILL
========================
After voucher creation (Modes 2 & 3):
- Trigger Tally's built-in IRP integration for IRN generation
- Capture IRN, Ack No., Ack Date, signed QR code
After e-Invoice (Mode 3 only):
- Generate e-Way Bill with vehicle number, transport mode (Road/Rail/Air/Ship mapped to codes 1-4), ship-to address, PIN code
- Capture EWB number and validity date
PDF PUSH (Mode 3 only):
- Generate invoice PDF with embedded signed QR code
- Base64-encode the PDF and push via HTTP POST as JSON:
{
"invoice_sequence": 1,
"irn": "a1b2c3d4...",
"ewb_number": "3210...",
"voucher_number": "SI/001/2026-27",
"invoice_date": "2026-04-10",
"pdf_base64": "<base64-encoded-pdf>"
}
- Retry up to 3 times on failure (configurable)
ERROR LOGGING
==============
The TDL must maintain logs within Tally AND push them to our log API endpoint (HTTP POST, JSON, API Key auth) after every run:
{
"run_timestamp": "2026-04-10T14:30:00",
"processing_mode": 3,
"total_invoices": 5,
"success_count": 4,
"failed_count": 1,
"invoices": [
{
"invoice_sequence": 1,
"voucher_status": "Success",
"voucher_number": "SI/001/2026-27",
"einvoice_status": "Success",
"irn": "...",
"ewb_status": "Success",
"ewb_number": "...",
"pdf_push_status": "Success"
},
{
"invoice_sequence": 2,
"voucher_status": "Failed",
"voucher_error": "Ledger not found",
"einvoice_status": "Skipped",
"ewb_status": "Skipped",
"pdf_push_status": "Skipped"
}
]
}
A log viewer screen must also be available inside Tally.
CONFIGURATION (all must be changeable without editing TDL source):
- Inbound API URL, HTTP method (GET/POST), API Key
- Outbound PDF push URL, API Key
- Error log API URL, API Key
- Default Sales Ledger name
- Retry count & delay for outbound push
- Default transport distance for e-Way Bill
- Default processing mode (1/2/3)
UI EXPECTATIONS IN TALLY
==========================
- Menu item / button on TallyPrime Gateway ("Fetch & Process Invoices")
- Processing mode selector before each run
- Progress indicator ("Processing invoice 3 of 12")
- Settings/configuration screen
- Log viewer screen
- Confirmation dialog showing mode and endpoint before processing
TALLY VERSION
==============
We are running TallyPrime 7.2. The TDL must be developed and tested for this version.
WHAT WE NEED FROM YOU
======================
1. Working .tdl or .tcp file deployable on TallyPrime
2. Configuration documentation
3. Testing with our API endpoints (we will provide test endpoints)
4. Bug fixes during a 2-week acceptance period after delivery
Please share in your proposal:
- Your experience with TDL HTTP/API integrations
- Any prior work with e-Invoice/e-Way Bill automation in TDL
- Estimated timeline and cost
- TallyPrime versions you have tested on