Create Invoices
/unified/accounting/invoices
Query Parameters
Refer Specifying query parameters in Truto APIs
Show Truto-specific parameters
The ID of the integrated account to use for the request.
62f44730-dd91-461e-bd6a-aedd9e0ad79dThe format of the response.
unifiedreturns the response with unified mappings applied.rawreturns the unprocessed, raw response from the remote API.normalizedapplies the unified mappings and returns the data in a normalized format.streamreturns the response as a stream, which is ideal for transmitting large datasets, files, or binary data. Using streaming mode helps to efficiently handle large payloads or real-time data flows without requiring the entire data to be buffered in memory.
Defaults to unified.
unifiedunifiedrawnormalizedstream
Excludes the remote_data attribute from the response.
Array of fields to exclude from the response.
truto_exclude_fields[]=id&truto_exclude_fields[]=nameQuery parameters to pass to the underlying API without any transformations. Refer this guide to see how to structure the query parameters.
remote_query[foo]=barRequest Body
Refer Writing data using Unified APIs
1 supported
Accounts payable/creditors account
1 supported
The company the invoice belongs to
1 supported1 required
Supplier for the Purchase Invoice (ERPNext Supplier). Provide at least contact.name (preferred) or contact.id.
4 supported2 required
The unique identifier for the contact (customer or vendor)
The name of the contact
The type of the contact - vendor or customer.
The currency code of the invoice
4 supported
The due date of the invoice
4 supported1 required
Exchange rate
2 supported
The issue date of the invoice
3 supported
The line items of the invoice
3 supported2 required
The ID of the account
The ID of the item
The quantity of the line item
The unit price of the line item
The currency of the line item
The description of the line item
The discount amount for the line item
The discount rate for the line item
The exchange rate of the currency for the line item
The unique identifier for line item
The name of the line item
The tax amount for the line item
The ID of the tax rate
The total line amount of the line item.
Tracking categories of the line item
3 properties
The ID of the tracking category
The name of the tracking category
The option of the tracking category
The type of the line item
The memo or notes for the invoice
2 supported
Supplier invoice/reference number
4 supported
Buying price list
1 supported
Any additional data that should be passed as part of the request body. This data is not transformed by Truto and is passed as is to the remote API.
The status of the invoice
draftsubmitteddeletedauthorisedpaidvoided
3 supported
The type of the invoice
billinvoiceinvoicebill
4 supported3 required
invoicebillResponse Body
The unique identifier for invoices
5 supported
The remaining balance of the invoice
4 supported
The company the invoice belongs to
1 supported
The contact for whom the invoice is raised.
4 supported
The unique identifier for the contact
The name of the contact
The type of the contact - vendor or customer.
This represents the date when the invoice was created
3 supported
The currency of the invoice
4 supported
The due date of the invoice
4 supported
The exchange rate of the invoice
2 supported
The issue date of the invoice
3 supported
The line items of the invoice
3 supported
The ID of the account
The currency of the line item
The description of the line item
The exchange rate of the currency for the line item
The unique identifier for line item
The ID of the item
The name of the line item
The quantity of the line item
The ID of the tax rate
The total line amount of the line item.
Tracking categories of the line item
3 properties
The ID of the tracking category
The name of the tracking category
The option of the tracking category
The type of the line item
The unit price of the line item
The private note of the invoice
2 supported
The number of the invoice
4 supported
The paid on date of the invoice
List of payment IDs associated with the invoice
2 supported
Raw data returned from the remote API call.
The status of the invoice
draftsubmitteddeletedauthorisedpaidvoided
3 supported
The sub total of the invoice
4 supported
The total discount of the invoice
2 supported
The total tax amount of the invoice
4 supported
Tracking categories of the invoices
1 supported
The ID of the tracking category
The name of the tracking category
The option of the tracking category
The type of the invoice
billinvoice
4 supported
This represents the date when the invoice was updated
4 supported
curl -X POST 'https://api.truto.one/unified/accounting/invoices?integrated_account_id=<integrated_account_id>' \
-H 'Authorization: Bearer <your_api_token>' \
-H 'Content-Type: application/json' \
-d '{
"contact": {},
"company": "your_company",
"due_date": "your_due_date",
"line_items": [],
"number": "your_number",
"issue_date": "your_issue_date",
"memo": "your_memo",
"currency": "your_currency",
"exchange_rate": 0,
"accounts_payable_account": "your_accounts_payable_account",
"purchase_price_list": "your_purchase_price_list",
"type": "bill",
"status": "draft",
"remote_data": {}
}'const integratedAccountId = '<integrated_account_id>';
const body = {
"contact": {},
"company": "your_company",
"due_date": "your_due_date",
"line_items": [],
"number": "your_number",
"issue_date": "your_issue_date",
"memo": "your_memo",
"currency": "your_currency",
"exchange_rate": 0,
"accounts_payable_account": "your_accounts_payable_account",
"purchase_price_list": "your_purchase_price_list",
"type": "bill",
"status": "draft",
"remote_data": {}
};
const response = await fetch(`https://api.truto.one/unified/accounting/invoices?integrated_account_id=${integratedAccountId}`, {
method: 'POST',
headers: {
'Authorization': 'Bearer <your_api_token>',
'Content-Type': 'application/json',
},
body: JSON.stringify(body),
});
const data = await response.json();
console.log(data);import requests
url = "https://api.truto.one/unified/accounting/invoices"
headers = {
"Authorization": "Bearer <your_api_token>",
"Content-Type": "application/json",
}
params = {
"integrated_account_id": "<integrated_account_id>"
}
payload = {
"contact": {},
"company": "your_company",
"due_date": "your_due_date",
"line_items": [],
"number": "your_number",
"issue_date": "your_issue_date",
"memo": "your_memo",
"currency": "your_currency",
"exchange_rate": 0,
"accounts_payable_account": "your_accounts_payable_account",
"purchase_price_list": "your_purchase_price_list",
"type": "bill",
"status": "draft",
"remote_data": {}
}
response = requests.post(url, headers=headers, params=params, json=payload)
print(response.json())import Truto from '@truto/truto-ts-sdk';
const truto = new Truto({
token: '<your_api_token>',
});
const result = await truto.unifiedApi.create(
'accounting',
'invoices',
{
"contact": {},
"company": "your_company",
"due_date": "your_due_date",
"line_items": [],
"number": "your_number",
"issue_date": "your_issue_date",
"memo": "your_memo",
"currency": "your_currency",
"exchange_rate": 0,
"accounts_payable_account": "your_accounts_payable_account",
"purchase_price_list": "your_purchase_price_list",
"type": "bill",
"status": "draft",
"remote_data": {}
},
{ integrated_account_id: '<integrated_account_id>' }
);
console.log(result);import asyncio
from truto_python_sdk import TrutoApi
truto_api = TrutoApi(token="<your_api_token>")
async def main():
result = await truto_api.unified_api.create(
"accounting",
"invoices",
{
"contact": {},
"company": "your_company",
"due_date": "your_due_date",
"line_items": [],
"number": "your_number",
"issue_date": "your_issue_date",
"memo": "your_memo",
"currency": "your_currency",
"exchange_rate": 0,
"accounts_payable_account": "your_accounts_payable_account",
"purchase_price_list": "your_purchase_price_list",
"type": "bill",
"status": "draft",
"remote_data": {}
},
{"integrated_account_id": "<integrated_account_id>"}
)
print(result)
asyncio.run(main())