XERO JINT
There are specific commands in the Javascript Engine (JINT) relating to XERO Only.
XeroRecord
You can update XERO now from javascript code using the JINT functionality
//Insert a Xero contact record with using JINT
var xeroRecord = XeroRecord('contacts'); xeroRecord.Set("Name", "TestXeroContact14"); var id = xeroRecord.Insert(); di.display(id);
//Insert a Xero quote record with using JINT
var xeroRecord = XeroRecord('quotes'); xeroRecord.Set("QuoteNumber", "TestXeroQuote8"); var xeroContact = XeroRecord('contacts'); xeroContact.Set("ContactID", "ab215683-f30f-49f1-afa2-54d9fa90217e"); xeroContact.Set("Name", "TestXeroContact10-Different-Name"); xeroRecord.setContact(xeroContact); xeroRecord.Set("Date", "7/29/2025 12:00:00 AM"); var xeroLineItems = XeroRecord('lineitems'); xeroLineItems.Set("Description", "test-description"); xeroRecord.setLineItem(xeroLineItems); var id = xeroRecord.Insert(); di.display(id);
//Insert a Xero invoice record with using JINT
var xeroRecord = XeroRecord('invoices'); xeroRecord.Set("InvoiceNumber", "TestXeroInvoice4"); var xeroContact = XeroRecord('contacts'); xeroContact.Set("ContactID", "54233ac1-92eb-449b-b559-149c2fcb7366"); xeroContact.Set("Name", "TestXeroContact13"); xeroRecord.setContact(xeroContact); xeroRecord.Set("Type", "ACCREC"); var id = xeroRecord.Insert(); di.display(id);
//Update a Xero contact record with using JINT
var xeroRecord = XeroRecord('contacts'); xeroRecord.Set("Name", "TestXeroContact14"); xeroRecord.Set("EmailAddress", "test14@test.com"); var id = '0523f206-2c4e-455d-9f15-006d4e6054b1'; xeroRecord.Update(id); //Update a Xero quote record (without lineitem) with using JINT jint di var xeroRecord = XeroRecord('quotes'); xeroRecord.Set("Reference", "test reference 1"); var xeroContact = XeroRecord('contacts'); xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1"); xeroContact.Set("Name", "TestXeroContact14"); xeroRecord.setContact(xeroContact); xeroRecord.Set("Date", "7/29/2025 12:00:00 AM"); var id = '05a07235-cf69-452f-bd69-3d037b62acea'; xeroRecord.Update(id);
//Update a Xero quote record (with lineitem - single) with using JINT
var xeroContact = XeroRecord('contacts'); xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1"); xeroContact.Set("Name", "TestXeroContact14"); var xeroRecord = XeroRecord('quotes'); xeroRecord.Set("QuoteNumber", "TestXeroQuote7"); xeroRecord.setContact(xeroContact); var xeroLineItem = XeroRecord('lineitems'); xeroLineItem.Set("Description", "test-description"); xeroRecord.setLineItem(xeroLineItem); xeroRecord.Set("Date", "7/29/2025 12:00:00 AM"); var id = xeroRecord.Insert(); di.display(id);
//Update a Xero quote record (with lineitem - multiple) with using JINT jint di var xeroContact = XeroRecord('contacts'); xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1"); xeroContact.Set("Name", "TestXeroContact14"); var xeroRecord = XeroRecord('quotes'); xeroRecord.Set("QuoteNumber", "TestXeroQuote9"); xeroRecord.setContact(xeroContact); var xeroLineItem1 = XeroRecord('lineitems'); xeroLineItem1.Set("Description", "test-description-1-1"); var xeroLineItem2 = XeroRecord('lineitems'); xeroLineItem2.Set("Description", "test-description-2-2"); xeroRecord.LineItems.Add(xeroLineItem1); xeroRecord.LineItems.Add(xeroLineItem2); xeroRecord.Set("Date", "7/29/2025 12:00:00 AM"); var id = xeroRecord.Insert(); di.display(id);
</nowiki>
//Update a Xero invoice record with using JINT
var xeroRecord = XeroRecord('invoices'); xeroRecord.Set("Reference", "test reference 11"); var id = '5510fd79-206a-4ea1-a2f0-db1180a2c6c0'; xeroRecord.Update(id);
//Archive a Xero contact record with using JINT
var xeroRecord = XeroRecord('contacts'); xeroRecord.Set("Name", "TestXeroContact5"); var id = '76912505-520c-4b1d-8739-24a98493508c'; xeroRecord.Delete(id);
//Batch job => to update a Xero contact and Xero quote record with using JINT
var xeroBatch=XeroBatch(); var xeroRecord_contact = XeroRecord('contacts'); xeroRecord_contact.Set("EmailAddress", "test141@test.com"); xeroRecord_contact.id = '0523f206-2c4e-455d-9f15-006d4e6054b1'; xeroRecord_contact.mode="Update"; xeroBatch.add(xeroRecord_contact); var xeroRecord_quote = XeroRecord('quotes'); xeroRecord_quote.Set("Reference", "test reference 33"); var xeroContact = XeroRecord('contacts'); xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1"); xeroContact.Set("Name", "TestXeroContact14"); xeroRecord_quote.setContact(xeroContact); xeroRecord_quote.Set("Date", "7/29/2025 12:00:00 AM"); xeroRecord_quote.id = '05a07235-cf69-452f-bd69-3d037b62acea'; xeroRecord_quote.mode="Update"; xeroBatch.add(xeroRecord_quote); xeroBatch.process();
---
getGUID - This is used where you have a given key value and need the Guid ID. Only one result is returned so this depends on the named key value being unique. Otherwise use querydb.
- Parameters (a) ENTITY(b) FILTER - returns GUID value EG >var quoteid=di.getguid("Quotes", "QT-1234");
- di.getguid("Accounts", "Name_Value") => Will pass "Name" and will get "AccountID"
- di.getguid("BankTransactions", "Reference_Value") => Will pass "Reference" and will get "BankTransactionID"
- di.getguid("BrandingThemes", "Name_Value")=> Will pass "Name" and will get "BrandingThemeID"
- di.getguid("ContactGroups", "Name_Value")=> Will pass "Name" and will get "ContactGroupID"
- di.getguid("Contacts", "Name_Value")=> Will pass "Name" and will get "ContactID"
- di.getguid("CreditNotes", "CreditNoteNumber_Value")=> Will pass "CreditNoteNumber" and will get "CreditNoteID"
- di.getguid("Employees", "FirstName_Value")=> Will pass "FirstName" and will get "EmployeeID"
- di.getguid("ExpenseClaims", "Status_Value")=> Will pass "Status" and will get "ExpenseClaimID"
- di.getguid("Invoices", "InvoiceNumber_Value")=> Will pass "InvoiceNumber" and will get "InvoiceID"
- di.getguid("Items", "Name_Value")=> Will pass "Name" and will get "ItemID"
- di.getguid("ManualJournals", "Narration_Value")=> Will pass "Narration" and will get "ManualJournalID"
- di.getguid("Organisations", "Name_Value")=> Will pass "Name" and will get "OrganisationID"
- di.getguid("Payments", "Reference_Value")=> Will pass "Reference" and will get "PaymentID"
- di.getguid("PurchaseOrders", "PurchaseOrderNumber_Value")=> Will pass "PurchaseOrderNumber" and will get "PurchaseOrderID"
- di.getguid("Quotes", "QuoteNumber_Value")=> Will pass "QuoteNumber" and will get "QuoteID"
- di.getguid("Receipts", "ReceiptNumber_Value")=> Will pass "ReceiptNumber" and will get "ReceiptID"
- di.getguid("RepeatingInvoices", "Reference_Value")=> Will pass "Reference" and will get "RepeatingInvoiceID"