I have a nodejs app (SAAS) that manage company expenses, I want to ingrate with xero so that my customers can send the submitted requests on my website (aka. Expense claims ) to xero by one click, I found that I can send requests one by one, but I want send them all in one time, anybody know how to do that
Asked
Active
Viewed 67 times
1 Answers
2
I believe you can use the createExpenseClaims method on the Xero Node SDK to create Expense Claims in bulk. You can use the pattern below:
const xeroTenantId = 'YOUR_XERO_TENANT_ID';
const currDate = '2020-12-10'
const user: User = {
userID: "00000000-0000-0000-0000-000000000000" };
const receipt: Receipt = {
receiptID: "00000000-0000-0000-0000-000000000000",
date: currDate };
const receipts = [];
receipts.push(receipt)
const expenseClaim: ExpenseClaim = {
status: ExpenseClaim.StatusEnum.SUBMITTED,
user: user,
receipts: receipts };
const expenseClaims: ExpenseClaims = {
expenseClaims: [expenseClaim] };
try {
const response = await xero.accountingApi.createExpenseClaims(xeroTenantId, expenseClaims);
console.log(response.body || response.response.statusCode)
} catch (err) {
const error = JSON.stringify(err.response.body, null, 2)
console.log(`Status Code: ${err.response.statusCode} => ${error}`);
}
Source: Xero Node SDK Documentation

AlbertGromek
- 460
- 3
- 6