v1.97 – December 11, 2019

  • updated for OAuth 2.0 app authentication

v1.969 – November 16, 2019

  • added Bills History and Notes examples (download and create)
  • added Bills Attachments examples (download and create)
  • added Bills History and Notes examples (download and create)

v1.968 – November 08, 2019

  • fixed issue with $url variable when downloading Timesheets from Xero (missing ?)

v1.967 – October 29, 2019

  • updated Bills upload to use PUT to create new Bill in Xero and POST to update existing Xero Bill
  • updated Invoices upload to use PUT to create new Invoice in Xero and POST to update existing Xero Invoice

v1.966 – October 15, 2019

  • updated ‘Process Server Side Uploads’ script  to reset Xero tokens to force reauthentication when running under FileMaker WebDirect
  • added example to download Payments from Xero for individual Bill
  • added CurrencyRate field to Payments table

v1.965 – July 10, 2019

  • added Batch Payments examples for Bills and Invoices (upload/download)
  • delete the PurchaseOrders::TotalPaymentItems_c field
  • fixed issue with the Get Invoice PDF script and FileMaker Pro Advanced v17
  • updated to BaseElements plug-in to v3.3.8 (Code Signed) for FileMaker Pro 18 compatibility

v1.964 – March 25, 2019

  • updated XeroItemPOSTCalc to reflect max length rules for Name, Description and PurchaseDescription fields
  • added support for FileMaker Cloud/Linux version of the BaseElements plug-in
  • updated BillsCheck to use the zv_XeroIDCheck_gt as the match field
  • updated ‘Get All Bills Modified Since’ script to fix bug with setting the $invoiceID when checking for existing Bill to update
  • updated Get Bills script to check for existing Bill by Xero ID and skip if already exists
  • updated Get Bills script to set the Payments::_kf_BillID field to the $invoiceID value
  • added new option to Get Bills script for Bill Date Range (between 2 dates)
  • added Update Invoice from Xero example
  • added Update Bill from Xero example

v1.963 – February 22, 2019

  • added Purchase Orders Attachments examples (download and create)

v1.962 – December 10, 2018

  • updated XeroInvoicePOSTCalc to match XeroContactPOSTCalc Contact fields

v1.961 – December 4, 2018

  • added example to download Payments from Xero for individual Invoice

v1.96 – November 9, 2018

  • fixed issue with scripts that download records modified since a timestamp to set the headers within every iteration of the loop
  • updated Contacts to support uploading/downloading of Sales Tracking Categories and Purchases Tracking Categories

v1.95 – August 5, 2018

  • added Contacts History and Notes examples (download and create)
  • added Invoices History and Notes examples (download and create)
  • added Contacts Attachments examples (download and create)
  • updated Invoices Attachments examples to also include download options
  • updated Open in Contact URL to open using the new Xero Contacts UI view
  • updated XeroBankTransactionItemPOSTCalc to omit the <ItemCode> if empty (would return ValidationException if empty <ItemCode></ItemCode> included)

v1.94 – June 27, 2018

  • updated to Base Elements plug-in v3.3.8
  • updated to support 4 decimal places in unit amount for line items for Invoices, Bills, Credit Notes, Receipts and Bank Transactions (requires BaseElements 3.3.8 plugin or higher)

v1.934 – March 30, 2018

  • changed CreditNotes Type field from Number to Text
  • updated to set the Credit Notes Reference field (only available for ACCRECCREDIT type Credit Notes)
  • updated Create TrackingCategory in Xero script to show confirmation dialog for found set uploads
  • updated InvoiceItems AccountCode and TaxType to default to Contact sales defaults when no Product Code is entered
  • updated BillItems AccountCode and TaxType to default to Contact purchase defaults when no Product Code is entered
  • update PurchaseOrderItems AccountCode and TaxType to default to Contact purchase defaults when no Product Code is entered
  • added Commit Records step to System Create New Blank Record script

v1.933 – November 27, 2017

  • added CountryCode to Organisations table
  • made Tax Type and Report Tax Type fields accessible in browse mode
  • updated Get Payments script to check for existing Payment by Xero ID and skip if already exists
  • updated Get Invoices script to check for existing Invoice by Xero ID and skip if already exists
  • added new option to Get Invoices script for Invoice Date Range (between 2 dates)
  • added new option to Get Payments script for Payment Date Range (between 2 dates)

v1.932 – August 7, 2017

  • fixed bug when setting the FlagSentToContact when downloading Invoices
  • updated Accounts to support creating and updating Accounts
  • updated Tax Rates to support creating and updating Tax Rates
  • updated BankTransactions to support creating and updating BankTransactions
  • Invoices: now saves the CurrencyRate when creating/updating Invoices
  • Bills: now saves the CurrencyRate when creating/updating Bills
  • Tracking Categories: optimised Create TrackingCategory Option in Xero script when retrieving the value of the newly created TrackingOptionID
  • when downloading Invoices from Xero and uploading Invoices to Xero it now stores the Xero Invoice Number

v1.931 – 01/05/2017

  • updated Products/Inventory to upload the IsSold and IsPurchased fields
  • fixed bug when setting Purchase Flag in the Update Current Product from Xero script

v1.93 – 26/04/2017

  • updated Purchase Orders  to support 2 Xero Tracking Categories (see PurchaseOrders Form Tracking layout for example of this)
  • GET PurchaseOrders now downloads Purchase Order Line Item Tracking Categories (see PurchaseOrders Form Tracking layout for example of this)
  • updated Overpayments  to support 2 Xero Tracking Categories (see Overpayments Form Tracking layout for example of this)
  • GET Overpayments now downloads Overpayment Line Item Tracking Categories (see Overpayments Form Tracking layout for example of this)
  • removed <TrackingCategoryID> when uploading Invoices, Bills, Purchase Orders and Receipts containing Tracking Categories
  • updated Invoices, Bills, Receipts and PurchaseOrders POST calcs to support ContactNumber field in Contacts table
  • updated Tracking Categories to support creating, updating and deleting Tracking Categories and Tracking Options
  • updated scripts that upload/delete Payments/Refunds to ensure they remain on the correct portal row if authenticating during the script

v1.929 – 12/04/2017

  • added ContactNumber to Contacts table (This field is read only in the Xero UI, used to identify contacts in external systems. It is displayed as Contact Code in the Contacts UI in Xero)

v 1.928 – 07/04/2017

  • updated to get the Contacts Invoice/Branding Theme (read only)
  • fixed parameters on Server Side Submit buttons for Invoices/Payments
  • fixed bug with Get All Bills scripts that caused blank Payment records to be created when no Payments existed
  • Invoice Payments: added mandatory test for Xero Invoice ID when uploading a Payment
  • Bill Payments: added mandatory test for Xero Bill ID when uploading a Payment
  • updated to Base Elements plug-in v3.3.4

v 1.927 – 07/12/2016

  • added Prepayments endpoint examples (download and create)
  • fixed Overpayments Type field data type
  • minor changes to Overpayments
  • minor changes to Payments
  • updated to Base Elements plug-in v3.3.3

v 1.926 – 07/12/2016

  • updated Invoices  to support 2 Xero Tracking Categories
  • GET Invoices now downloads Invoice Line Item Tracking Categories (see Invoices Form Tracking layout for example of this)
  • updated Bills to support 2 Xero Tracking Categories
  • GET Bills now downloads Bill Line Item Tracking Categories (see Bills Form Tracking layout for example of this)
  • fixed bug when downloading Bills using the last modified timestamp and updating the correct timestamp

v 1.925 – 25/11/2016

  • trial version changes to single organisation file
  • added Reports Module and Trial Balance Report as the first Report example
  • Invoices: upload attachments against an Accounts Receivable invoice

v1.924 – 30/10/2016

  • added Contacts Balances (Accounts Receivable and Accounts Payable) to Contacts List and Form layouts
  • added script to update just the Contact Balances (current record and found set of records)

v1.923 – 26/10/2016

  • fixed issue with GET Invoices scripts that weren’t downloading the Invoice Reference and Sent to Contact fields

v1.922 – 07/10/2016

  • added refund Credit Note example
  • added refund Overpayment example

v1.921 – 23/09/2016

  • removed SubTotal, TotalTax and Total fields from POST calculations for Invoices and Bills as they are ignored when uploading to Xero
  • CreditNotes: added new field SubTotalExTax_c to calculate sub total exclusive of tax when uploading to Xero

v1.92 – 14/09/2016

  • added IsCustomer and IsSupplier fields to Contacts table
  • added Overpayments endpoint examples (download, create and allocate)
  • fixed Custom Menus issue with New Record command for certain modules
  • minor bug fixes

v1.91 – 03/09/2016

  • added CreditNotes endpoint examples (download, create and allocate)
  • updated Contacts to get/set the TaxNumber and AccountNumber fields
  • updated GET Invoices scripts to set the SentToContact flag
  • deleted Payments:: Method field and Payment Method value list as not used by API
  • updated to Base Elements plug-in v3.3

v1.9 – 05/07/2016

  • added Users to Multiple Organisations file
  • added Receipts endpoint examples (download and create)
  • added Expense Claims  endpoint examples (download and create)

v1.89 – 25/06/2016

  • added Branding Themes endpoint examples (download)
  • updated Invoices to allow user to specify Branding Theme and download Branding Theme details
  • updated Purchase Orders to allow user to specify Branding Theme and download Branding Theme details
  • added Currencies endpoint examples (download)
  • updated Invoices to allow user to specify Currency and  Exchange Rate and download Currency and  Exchange Rate
  • updated Bills to allow user to specify Currency and  Exchange Rate and download Currency and  Exchange Rate
  • updated Purchase Orders to allow user to specify Currency and  Exchange Rate and download Currency and  Exchange Rate
  • updated Authenticate button on Xero Preferences layout to set the Base Currency for the Organisation
  • updated Purchase Orders to check for existing Xero Contact ID when creating a Purchase Order in Xero (The PurchaseOrders endpoint does not create new contacts. You need to provide the ContactID or ContactNumber of an existing contact)
  • set Purchase Orders layouts to use the correct Custom Menu Set

v1.88 – 24/06/2016

  • added Purchase Orders endpoint examples (download and create)
  • updated Get All Inventory Items script to set the IsSold and IsPurchased flags based on Xero values
  • changed Update Current Product from Xero script to retrieve the same values as the Get All Inventory Items script
  • change Contacts drop down list in Invoices and Bills to use the Contact Name (Company) field instead of the main contact person full name

v1.87 – 06/06/2016

  • fixed bug when downloading Invoices that prevented Tax Rate from calculating correctly

v1.86 – 05/06/2016

  • updates to Base Elements plug-in v3.2.0
  • fixed issue with Payments Organisation ID not populating correctly in multi organisation file
  • added <Reference> field for Invoices POST calc
  • fixed issue with GET Invoices not setting the Contact ID field correctly when there was no Xero ContactNumber value
  • updated POST Invoice to display any ApiException errors if present (more meaningful error messages)
  • Invoices: added script to GET the Xero online invoice url
  • Invoices: added script/button to update the status from Xero for the current Invoice
  • Accounts: added portals to Accounts Form layout showing related Invoice Items, Bill Items and Payments
  • Invoices: added script to GET the Xero Invoice PDF
  • Invoices: added a Mark as Sent flag for the Invoice and added SentToContact to XeroInvoicePOSTCalc field

v1.85 – 30/12/2015

  • updated Products (Items) for Tracked Inventory Items support

v1.84 – 16/12/2015

  • removed Authentication test for Organisation Name to be exact match – now updating if different
  • updated to support the LineItemIDs for Invoices (GET and POST)
  • updated to support the LineItemIDs for Bills (GET and POST)
  • now rounding InvoiceItems::TaxAmount to 2 decimal places
  • added support for <DiscountRate> in Invoices (GET and POST)
  • added option to GET All Invoices script to delete all existing Invoices first before downloading

v1.83 – 25/11/2015

  • updated Invoices and Bills to reference the Xero Invoice ID when uploading to Xero
  • added UUID field to all tables
  • updated Products (Inventory) to access new fields available via the API: Name, Description (Sales) and PurchaseDescription. These are now uploaded/downloaded from Xero
  • added Status field to Bills and Invoices to match the Xero Bills/Invoices Status (this is pushed and downloaded)
  • updated GET Contacts and Update Contact from Xero scripts to also retrieve available Financial Details

v1.82 – 2/11/2015

  • added Postcode to Addresses portal in Contacts Form layout
  • Contact Persons First Name is no longer uploaded in Upper Case
  • fixed issue with Xero Authentication script not suppressing errors when performed via server side script
  • deleting an Invoice Payment now also deletes the corresponding payment from Xero
  • deleting a Bill Payment now also deletes the corresponding payment from Xero
  • added Financial Details to Contacts upload

v1.81 – 25/09/2015

  • added navigation button from Timesheets to Employees
  • fixed bug with Get All Contacts scripts not setting the HTTP Header inside the loop for paging records

v1.8 – 16/07/2015

  • added new tables: Journals and ManualJournals
  • added GET Journals
  • added POST ManualJournals
  • added support for Contact Balances in GET requests
  • removed unreferenced table occurrences: InvoiceItemsAccounts and BillItemsAccounts
  • updated to BaseElements plugin v3.1
  • release Single Organisation version alongside Multiple Organisation version
  • added tests to prevent payments from being uploaded more than once if there is an existing Xero Payment ID value
  • updated GET BankTransactions to not set the newly created Contact _kp_ContactID if not value from Xero

v1.77 – 08/07/2015

  • changed Invoice Line Items Tax Amount field to a number field (was previously calculation field)
  • updated Invoices import scripts to now set the Tax Amount
  • add Trigger to LineItemsType field in Invoices  to update the Tax Amount when changing from Exclusive/Inclusive
  • updated Reset Customer Version script to also set the default $$ Organisation ID global variable so the file can be used without having to close/reopen

v1.76 – 01/07/2015

  • added Custom Menu Sets for TaxRates and BankTransactions tables
  • cleaned up Plugins table and removed redundant fields
  • updated to v3.1b of the BaseElements plugin
  • added Create Xero Keys script to generate public/private keys for Xero Private Application authentication
  • updated GET Employees to support Pagination updated Bills to support Tracking Categories and created new layout to demonstrate this
  • – removed trailing carriage return after Phones
  • added new table: Persons
  • add ContactPersons support for Contacts endpoint
  • updated all references to POST in all HTTP GET scripts to reference GET instead of POST In error messages/dialogs
  • updated Invoices to handle Line Item Inclusive and Exclusive Amounts
  • updated Bills to handle Line Item Inclusive and Exclusive Amounts
  • fixed GET Bills/Invoices to get the TaxRate based on the Line Item Tax Type

v1.75 – 09/06/2015

  • added fmAccountingLink logo
  • set the DevLicense as the default account under File Options

v1.73 – 21/05/2015

  • added missing organisationID parameter to Authenticate button on the Organisations Form tab

v1.72 – 20/05/2015

  • added cascading deletes to TaxComponents so they are deleted when parent Tax Rate is deleted
  • opened with FileMaker Pro v14
  • updated plug-in installation script to install 32-bit or 64-bit version of the plugin under FileMaker Pro v14

v1.71 – 13/05/2015

  • added Update Product/Inventory Item script

v1.7 – 07/05/2015

  • GET Items/Products now has prompt to delete all existing Products for selected Organisation
  • changed Contact Name field in the Organisations > Payments TAB
  • changed Bills List and Invoices List total fields to use 2 decimal places
  • removed Payroll TAB from DEV Organisations layout

v1.67 – 30/04/2015

  • added POST Timesheets example

v1.66 – 29/04/2015

  • fixed issue with pagination prematurely halting after 200 records

v1.65 – 29/04/2015

  • GET Employees now has prompt to delete all existing EarningsRates for selected Organisation
  • GET Timesheets now supports paging
  • changed Timesheets schema to mirror Xero Timesheets lines
  • created new layout: Timesheets Form Tracking to show how to enter a single Tracking Category for a Timesheet Line
  • added GET Timesheets modified since timestamp script
  • added BankTransactions module

v1.64 – 22/04/2015

  • upload Product/Item to Xero now uploads the TaxTypes for sales/purchases
  • fixed bug in script: Get All TrackingCategories for Current Organisation
  • update Invoices Xero POST Calc field to include optional Invoice Item Tracking Categories
  • created new layout: Invoices Form Tracking to show how to enter a single Tracking Category for an Invoice/Invoice Items
  • changed CanApply…. fields in TaxRates table to Number fields
  • Bills and Invoices Tax Rates value list on line items now filtered

v1.63 – 20/04/2015

  • GET EarningsRates now has prompt to delete all existing EarningsRates for selected Organisation

v1.62 – 20/04/2015

  • added GET Contacts modified since timestamp script
  • added GET Invoices modified since timestamp script
  • added GET Bills modified since timestamp script
  • GET Accounts now has prompt to delete all existing Accounts for selected Organisation
  • GET TaxRates now has prompt to delete all existing TaxRates for selected Organisation
  • GET TrackingCategories now has prompt to delete all existing TrackingCategories for selected Organisation

v1.61 – 15/04/2015

  • updated GET Bills to no longer attempt to set the value into the calculated total fields (these were previously number fields)
  • updated GET Bills to also set the Tax Type, Tax Rate and ItemCode

v1.6 – 15/04/2015

  • added Employees (Payroll API)
  • added Timesheets (Payroll API)
  • added EarningsRates (Payroll API)

v1.55 – 12/04/2015

  • added pagination to GET Contacts script
  • added Website to GET Contacts script
  • updated GET Invoices script to include TaxRate, TaxType and ItemCode
  • updated GET Invoices to no longer attempt to set the value into the calculated total fields (these were previously number fields)

v1.54 – 05/04/2015

– added TrackingCategories

v1.53 – 23/03/2015

  • added Upper coercion for Address and Phone Types to ensure these are always in upper case
  • added Contact Status field
  • added Account Code and Tax Type options to the Invoices Items portal
  • added Account Code and Tax Type options to the Bills Items portal
  • added Open Product in Xero button/script
  • added ExecuteSQL

v1.52 – 16/03/2015

  • added Flags to Products to identify Sales/Purchases items (used for valuelists in Bills/Invoices)

v1.51 – 05/03/2015

  • updated GET Payments to support “If-Modified-Since” header (only download payments since specified timestamp)
  • added Payments Form layout
  • add Invoices/Bills portal to Products Form layout
  • updated calls to Perform Authorisation script to now pass the Organisation ID parameter ($organisationID)

v1.5 – 03/03/2015

  • added new module: Bills
  • updated GET Invoices to filter by Type

v1.42 – 25/02/2015

  • added GET TaxRates to Organisations layout

v1.42 – 25/02/2015

  • added GET TaxRates to Organisations layout

v1.41 – 16/02/2015

  • updated authentication script to set any server side errors using Set Field By Name
  • removed redundant fields and table occurrences
  • added step to clear OAuth tokens when file is closed to prevent issues when using BaseElements plugin with other web services/APIs.
  • added Get Invoices script
  • updated Invoices and Invoice Items to use Number fields instead of Calculation fields for storing sub totals – these are updated via script triggers

v1.4 – 02/02/2015

  • added Organisations table to allow for posting transactions to multiple Xero Organisations from the one file
  • updated to BaseElements 3.0.0 official release plugin

v1.4 – 02/02/2015

  • added Organisations table to allow for posting transactions to multiple Xero Organisations from the one file
  • updated to BaseElements 3.0.0 official release plugin

v1.31 – 06/01/2015

  • fixed missing $errorText when checking for $status ≠ “OK” after HTTP POST

v1.3 – 04/12/2014

  • updated to BaseElements 3.0.0b1 plugin
  • now supports Windows Server Side scripts under FileMaker Server v13

v1.2 – 24/11/2014

  • added support for server side scripts/Perform Script on Server: can now push Contacts, Invoices and Payments via server side scripts (Mac OS X Only as not 64bit version of Windows plugin yet)

v1.1 – 28/10/2014

  • updated Accounts importing
  • added Contacts import
  • changed Contacts to have related Addresses and Phones
  • file now requires FileMaker Pro v13 or higher to open

v1.0 – 15/08/2014

  • initial public release