XERO JINT: Difference between revisions

From Data Islands
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 7: Line 7:
You can update XERO now from javascript code using the JINT functionality
You can update XERO now from javascript code using the JINT functionality


//Insert a Xero contact record with using JINT
//Insert a Xero contact record  
<nowiki>
 
var xeroRecord = XeroRecord('contacts');
var xeroRecord = XeroRecord('contacts');
xeroRecord.Set("Name", "TestXeroContact14");
xeroRecord.Set("Name", "John Doe");
var id = xeroRecord.Insert();
var id = xeroRecord.Insert();
di.display(id);
di.display(id);
</nowiki>
 
//Insert a Xero quote record with using JINT
//Insert a Xero quote record  
<nowiki>
 
var xeroRecord = XeroRecord('quotes');
var xeroRecord = XeroRecord('quotes');
xeroRecord.Set("QuoteNumber", "TestXeroQuote8");
xeroRecord.Set("QuoteNumber", "QT-8888");
var xeroContact = XeroRecord('contacts');
var xeroContact = XeroRecord('contacts');
xeroContact.Set("ContactID", "ab215683-f30f-49f1-afa2-54d9fa90217e");
xeroContact.Set("ContactID", "ab215683-f30f-49f1-afa2-54d9fa90217e");
xeroContact.Set("Name", "TestXeroContact10-Different-Name");
xeroContact.Set("Name", "John Doe");
xeroRecord.setContact(xeroContact);
xeroRecord.setContact(xeroContact);
xeroRecord.Set("Date", "7/29/2025 12:00:00 AM");
xeroRecord.Set("Date", new Date());
var xeroLineItems = XeroRecord('lineitems');
var xeroLineItems = XeroRecord('lineitems');
xeroLineItems.Set("Description", "test-description");
xeroLineItems.Set("Description", "test-description");
xeroRecord.setLineItem(xeroLineItems);
xeroRecord.setLineItem(xeroLineItems);
var id = xeroRecord.Insert();
var id = xeroRecord.Insert();
di.display(id);
di.display(id);
</nowiki>
 
//Insert a Xero invoice record with using JINT
//Insert a Xero invoice record  
  <nowiki>  
  <nowiki>  
var xeroRecord = XeroRecord('invoices');
var xeroRecord = XeroRecord('invoices');
xeroRecord.Set("InvoiceNumber", "TestXeroInvoice4");
xeroRecord.Set("InvoiceNumber", "IN-88888");
var xeroContact = XeroRecord('contacts');
var xeroContact = XeroRecord('contacts');
xeroContact.Set("ContactID", "54233ac1-92eb-449b-b559-149c2fcb7366");
xeroContact.Set("ContactID", "54233ac1-92eb-449b-b559-149c2fcb7366");
xeroContact.Set("Name", "TestXeroContact13");
xeroContact.Set("Name", "John Doe");
xeroRecord.setContact(xeroContact);
xeroRecord.setContact(xeroContact);
xeroRecord.Set("Type", "ACCREC");
xeroRecord.Set("Type", "ACCREC");
Line 41: Line 41:
di.display(id);
di.display(id);
  </nowiki>  
  </nowiki>  
//Update a Xero contact record with using JINT
//Update a Xero contact record  
  <nowiki>  
  <nowiki>  
var xeroRecord = XeroRecord('contacts');
var xeroRecord = XeroRecord('contacts');
xeroRecord.Set("Name", "TestXeroContact14");
xeroRecord.Set("Name", "John Doe");
xeroRecord.Set("EmailAddress", "test14@test.com");
xeroRecord.Set("EmailAddress", "john@doej.com");
var id = '0523f206-2c4e-455d-9f15-006d4e6054b1';
var id = '0523f206-2c4e-455d-9f15-006d4e6054b1';
xeroRecord.Update(id);
xeroRecord.Update(id);


//Update a Xero quote record (without lineitem) with using JINT
//Update a Xero quote record (without lineitem) with using JINT
jint di
<nowiki>
var xeroRecord = XeroRecord('quotes');
var xeroRecord = XeroRecord('quotes');
xeroRecord.Set("Reference", "test reference 1");
xeroRecord.Set("Reference", "QT-88888");
var xeroContact = XeroRecord('contacts');
var xeroContact = XeroRecord('contacts');
xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
xeroContact.Set("Name", "TestXeroContact14");
xeroContact.Set("Name", "John Doe");
xeroRecord.setContact(xeroContact);
xeroRecord.setContact(xeroContact);
xeroRecord.Set("Date", "7/29/2025 12:00:00 AM");
xeroRecord.Set("Date", new Date());
var id = '05a07235-cf69-452f-bd69-3d037b62acea';
var id = '05a07235-cf69-452f-bd69-3d037b62acea';
xeroRecord.Update(id);
xeroRecord.Update(id);
  </nowiki>  
  </nowiki>  
//Update a Xero quote record (with lineitem - single) with using JINT
//Update a Xero quote record (with lineitem - single)  
  <nowiki>  
  <nowiki>  
var xeroContact = XeroRecord('contacts');
var xeroContact = XeroRecord('contacts');
xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
xeroContact.Set("Name", "TestXeroContact14");
xeroContact.Set("Name", "John Doe");
var xeroRecord = XeroRecord('quotes');
var xeroRecord = XeroRecord('quotes');
xeroRecord.Set("QuoteNumber", "TestXeroQuote7");
xeroRecord.Set("QuoteNumber", "QT-8000");
xeroRecord.setContact(xeroContact);
xeroRecord.setContact(xeroContact);
var xeroLineItem = XeroRecord('lineitems');
var xeroLineItem = XeroRecord('lineitems');
xeroLineItem.Set("Description", "test-description");
xeroLineItem.Set("Description", "test-description");
xeroRecord.setLineItem(xeroLineItem);
xeroRecord.setLineItem(xeroLineItem);
xeroRecord.Set("Date", "7/29/2025 12:00:00 AM");
xeroRecord.Set("Date", new Date());
var id = xeroRecord.Insert();
var id = xeroRecord.Insert();
di.display(id);
di.display(id);
  </nowiki>  
  </nowiki>  
//Update a Xero quote record (with lineitem - multiple) with using JINT
//Update a Xero quote record (with lineitem - multiple)  
jint di
<nowiki>
var xeroContact = XeroRecord('contacts');
var xeroContact = XeroRecord('contacts');
xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
xeroContact.Set("Name", "TestXeroContact14");
xeroContact.Set("Name", "John Doe");
var xeroRecord = XeroRecord('quotes');
var xeroRecord = XeroRecord('quotes');
xeroRecord.Set("QuoteNumber", "TestXeroQuote9");
xeroRecord.Set("QuoteNumber", "QT-7777");
xeroRecord.setContact(xeroContact);
xeroRecord.setContact(xeroContact);
var xeroLineItem1 = XeroRecord('lineitems');
var xeroLineItem1 = XeroRecord('lineitem');
xeroLineItem1.Set("Description", "test-description-1-1");
xeroLineItem1.Set("Description", "test-description-1-1");
var xeroLineItem2 = XeroRecord('lineitems');
var xeroLineItem2 = XeroRecord('lineitem');
xeroLineItem2.Set("Description", "test-description-2-2");
xeroLineItem2.Set("Description", "test-description-2-2");
xeroRecord.LineItems.Add(xeroLineItem1);
xeroRecord.LineItems.Add(xeroLineItem1);
xeroRecord.LineItems.Add(xeroLineItem2);
xeroRecord.LineItems.Add(xeroLineItem2);
xeroRecord.Set("Date", "7/29/2025 12:00:00 AM");
xeroRecord.Set("Date", new Date());
var id = xeroRecord.Insert();
var id = xeroRecord.Insert();
di.display(id);
di.display(id);
  </nowiki>  
  </nowiki>  
//Update a Xero invoice record with using JINT
//Update a Xero invoice record
  <nowiki>  
  <nowiki>  
var xeroRecord = XeroRecord('invoices');
var xeroRecord = XeroRecord('invoices');
xeroRecord.Set("Reference", "test reference 11");
xeroRecord.Set("Reference", "IN-5555");
var id = '5510fd79-206a-4ea1-a2f0-db1180a2c6c0';
var id = '5510fd79-206a-4ea1-a2f0-db1180a2c6c0';
xeroRecord.Update(id);
xeroRecord.Update(id);
  </nowiki>  
  </nowiki>  
//Archive a Xero contact record with using JINT
//Archive a Xero contact record
  <nowiki>  
  <nowiki>  
var xeroRecord = XeroRecord('contacts');
var xeroRecord = XeroRecord('contacts');
xeroRecord.Set("Name", "TestXeroContact5");
xeroRecord.Set("Name", "John Doe");
var id = '76912505-520c-4b1d-8739-24a98493508c';
var id = '76912505-520c-4b1d-8739-24a98493508c';
xeroRecord.Delete(id);
xeroRecord.Delete(id);
  </nowiki>  
  </nowiki>  
//Batch job => to update a Xero contact and Xero quote record with using JINT
//Batch job => to update a Xero contact and Xero quote record
  <nowiki>  
  <nowiki>  
var xeroBatch=XeroBatch();
var xeroBatch=XeroBatch();
var xeroRecord_contact = XeroRecord('contacts');
var xeroRecord_contact = XeroRecord('contacts');
xeroRecord_contact.Set("EmailAddress", "test141@test.com");
xeroRecord_contact.Set("EmailAddress", "js@doej.com");
xeroRecord_contact.id = '0523f206-2c4e-455d-9f15-006d4e6054b1';
xeroRecord_contact.id = '0523f206-2c4e-455d-9f15-006d4e6054b1';
xeroRecord_contact.mode="Update";
xeroRecord_contact.mode="Update";
xeroBatch.add(xeroRecord_contact);
xeroBatch.add(xeroRecord_contact);
var xeroRecord_quote = XeroRecord('quotes');
var xeroRecord_quote = XeroRecord('quotes');
xeroRecord_quote.Set("Reference", "test reference 33");
xeroRecord_quote.Set("Reference", "QT-77773");
var xeroContact = XeroRecord('contacts');
var xeroContact = XeroRecord('contacts');
xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
xeroContact.Set("Name", "TestXeroContact14");
xeroContact.Set("Name", "John Doe");
xeroRecord_quote.setContact(xeroContact);
xeroRecord_quote.setContact(xeroContact);
xeroRecord_quote.Set("Date", "7/29/2025 12:00:00 AM");
xeroRecord_quote.Set("Date", new Date());
xeroRecord_quote.id = '05a07235-cf69-452f-bd69-3d037b62acea';
xeroRecord_quote.id = '05a07235-cf69-452f-bd69-3d037b62acea';
xeroRecord_quote.mode="Update";
xeroRecord_quote.mode="Update";
Line 128: Line 128:
xeroBatch.process();
xeroBatch.process();
  </nowiki>  
  </nowiki>  
"Mode" can be "Insert" or "Update"
---
---



Latest revision as of 07:40, 28 August 2025

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

	var xeroRecord = XeroRecord('contacts');
	xeroRecord.Set("Name", "John Doe");
	var id = xeroRecord.Insert();
	di.display(id);
  

//Insert a Xero quote record

	var xeroRecord = XeroRecord('quotes');
	xeroRecord.Set("QuoteNumber", "QT-8888");
	var xeroContact = XeroRecord('contacts');
	xeroContact.Set("ContactID", "ab215683-f30f-49f1-afa2-54d9fa90217e");
	xeroContact.Set("Name", "John Doe");
	xeroRecord.setContact(xeroContact);
	xeroRecord.Set("Date", new Date());
	var xeroLineItems = XeroRecord('lineitems');
	xeroLineItems.Set("Description", "test-description");
	xeroRecord.setLineItem(xeroLineItems);
	var id = xeroRecord.Insert();
	di.display(id);
  

//Insert a Xero invoice record

 
	var xeroRecord = XeroRecord('invoices');
	xeroRecord.Set("InvoiceNumber", "IN-88888");
	var xeroContact = XeroRecord('contacts');
	xeroContact.Set("ContactID", "54233ac1-92eb-449b-b559-149c2fcb7366");
	xeroContact.Set("Name", "John Doe");
	xeroRecord.setContact(xeroContact);
	xeroRecord.Set("Type", "ACCREC");
	var id = xeroRecord.Insert();
	di.display(id);
  

//Update a Xero contact record

 
	var xeroRecord = XeroRecord('contacts');
	xeroRecord.Set("Name", "John Doe");
	xeroRecord.Set("EmailAddress", "john@doej.com");
	var id = '0523f206-2c4e-455d-9f15-006d4e6054b1';
	xeroRecord.Update(id);

	//Update a Xero quote record (without lineitem) with using JINT
 <nowiki> 
	var xeroRecord = XeroRecord('quotes');
	xeroRecord.Set("Reference", "QT-88888");
	var xeroContact = XeroRecord('contacts');
	xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
	xeroContact.Set("Name", "John Doe");
	xeroRecord.setContact(xeroContact);
	xeroRecord.Set("Date", new Date());
	var id = '05a07235-cf69-452f-bd69-3d037b62acea';
	xeroRecord.Update(id);
  

//Update a Xero quote record (with lineitem - single)

 
	var xeroContact = XeroRecord('contacts');
	xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
	xeroContact.Set("Name", "John Doe");
	var xeroRecord = XeroRecord('quotes');
	xeroRecord.Set("QuoteNumber", "QT-8000");
	xeroRecord.setContact(xeroContact);
	var xeroLineItem = XeroRecord('lineitems');
	xeroLineItem.Set("Description", "test-description");
	xeroRecord.setLineItem(xeroLineItem);
	xeroRecord.Set("Date", new Date());
	var id = xeroRecord.Insert();
	di.display(id);
  

//Update a Xero quote record (with lineitem - multiple)

 
	var xeroContact = XeroRecord('contacts');
	xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
	xeroContact.Set("Name", "John Doe");
	var xeroRecord = XeroRecord('quotes');
	xeroRecord.Set("QuoteNumber", "QT-7777");
	xeroRecord.setContact(xeroContact);
	var xeroLineItem1 = XeroRecord('lineitem');
	xeroLineItem1.Set("Description", "test-description-1-1");
	var xeroLineItem2 = XeroRecord('lineitem');
	xeroLineItem2.Set("Description", "test-description-2-2");
	xeroRecord.LineItems.Add(xeroLineItem1);
	xeroRecord.LineItems.Add(xeroLineItem2);
	xeroRecord.Set("Date", new Date());
	var id = xeroRecord.Insert();
	di.display(id);
  

//Update a Xero invoice record

 
	var xeroRecord = XeroRecord('invoices');
	xeroRecord.Set("Reference", "IN-5555");
	var id = '5510fd79-206a-4ea1-a2f0-db1180a2c6c0';
	xeroRecord.Update(id);
  

//Archive a Xero contact record

 
	var xeroRecord = XeroRecord('contacts');
	xeroRecord.Set("Name", "John Doe");
	var id = '76912505-520c-4b1d-8739-24a98493508c';
	xeroRecord.Delete(id);
  

//Batch job => to update a Xero contact and Xero quote record

 
	var xeroBatch=XeroBatch();
	var xeroRecord_contact = XeroRecord('contacts');
	xeroRecord_contact.Set("EmailAddress", "js@doej.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", "QT-77773");
	var xeroContact = XeroRecord('contacts');
	xeroContact.Set("ContactID", "0523f206-2c4e-455d-9f15-006d4e6054b1");
	xeroContact.Set("Name", "John Doe");
	xeroRecord_quote.setContact(xeroContact);
	xeroRecord_quote.Set("Date", new Date());
	xeroRecord_quote.id = '05a07235-cf69-452f-bd69-3d037b62acea';
	xeroRecord_quote.mode="Update";
	xeroBatch.add(xeroRecord_quote);
	xeroBatch.process();
  

"Mode" can be "Insert" or "Update" ---

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");
  1. di.getguid("Accounts", "Name_Value") => Will pass "Name" and will get  "AccountID"
  2. di.getguid("BankTransactions", "Reference_Value") => Will pass "Reference" and will get  "BankTransactionID"
  3. di.getguid("BrandingThemes", "Name_Value")=> Will pass "Name" and will get  "BrandingThemeID"
  4. di.getguid("ContactGroups", "Name_Value")=> Will pass "Name" and will get  "ContactGroupID"
  5. di.getguid("Contacts", "Name_Value")=> Will pass "Name" and will get  "ContactID"
  6. di.getguid("CreditNotes", "CreditNoteNumber_Value")=> Will pass "CreditNoteNumber" and will get  "CreditNoteID"
  7. di.getguid("Employees", "FirstName_Value")=> Will pass "FirstName" and will get  "EmployeeID"
  8. di.getguid("ExpenseClaims", "Status_Value")=> Will pass "Status" and will get  "ExpenseClaimID"
  9. di.getguid("Invoices", "InvoiceNumber_Value")=> Will pass "InvoiceNumber" and will get  "InvoiceID"
  10. di.getguid("Items", "Name_Value")=> Will pass "Name" and will get  "ItemID"
  11. di.getguid("ManualJournals", "Narration_Value")=> Will pass "Narration" and will get  "ManualJournalID"
  12. di.getguid("Organisations", "Name_Value")=> Will pass "Name" and will get  "OrganisationID"
  13. di.getguid("Payments", "Reference_Value")=> Will pass "Reference" and will get  "PaymentID"
  14. di.getguid("PurchaseOrders", "PurchaseOrderNumber_Value")=> Will pass "PurchaseOrderNumber" and will get  "PurchaseOrderID"
  15. di.getguid("Quotes", "QuoteNumber_Value")=> Will pass "QuoteNumber" and will get  "QuoteID"
  16. di.getguid("Receipts", "ReceiptNumber_Value")=> Will pass "ReceiptNumber" and will get  "ReceiptID"
  17. di.getguid("RepeatingInvoices", "Reference_Value")=> Will pass "Reference" and will get  "RepeatingInvoiceID"