Overview
Fields
Sample JSON
Sync ACK
Validation Rules
Ledger Master
📌
All API responses must be wrapped under the
"Data" key — {"Data": [...]}. Tally cannot read any other structure.Endpoints
| Type | Method | Endpoint |
|---|
Action Types
| Action | What Tally does |
|---|---|
Create | Creates new master if not exists in Tally |
Update | Finds by TallyId, deletes all child collections, re-inserts from payload. Falls back to Create if TallyId not found. |
Delete | Permanently deletes master by TallyId |
Key Rules
📅
All dates must be YYYYMMDD format. Example:
20250401. Empty dates pass as "".🔐
Bearer Token — static, no expiry. Header:
Authorization: Bearer YOUR_TOKEN💡
All fields must be present in JSON. Optional fields can be
null or "". Do not omit keys.
🎨
// MANDATORY — required, cannot be null or empty |
// optional — can be null or ""
Sync Acknowledgment
After every sync batch, Tally POSTs an acknowledgment to your ERP for every record processed.
ACK Endpoint
ACK Payload (Tally → Your ERP)
Sync ACK Payload
{ "TallyId": 12345, // Tally internal ID — store this for future Update/Delete "ERPId": "133", // Your ERP ID echoed back "Status": "Yes" // "Yes" = success, "No" = failure }
⚠️
Store the
TallyId from each ACK response against your ERP record. This is required for all future Update and Delete operations.Validation Rules
These checks run automatically when you test any endpoint via the Test API button.
Common Rules (All Endpoints)
| Rule | Detail |
|---|---|
| HTTP 200 | API must return status 200 |
| Valid JSON | Response must be parseable JSON |
"Data" key required | Response must be {"Data": [...]} — Tally reads only this structure |
| Array under Data | Value of Data must be an array |
| Date format | All date fields must be YYYYMMDD (8 digits) |
| Mandatory fields | Cannot be null, undefined or empty string |
| TallyId | Must be 0 for new records, numeric for updates |