Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 1 of 26
Summary of Changes
2019-12-12 – Version 5.13
This version now caters for both OAuth1.0a and OAuth2.0 authentication.
2016-11-08 – Version 4.78
This version now creates External Payments in Ostendo for any Overpayments generated in Xero
regardless of allocations. If the OverPayment has no allocations, the Payment created in Ostendo
will have status of ”Received”.
Any allocations to invoices will create a CustomerPaymentTrans record to apply the amount to the
invoice in Ostendo.
Any refund of overpayments will reduce the PaymentAmount in CUSTOMERPAYMENTS record in
Ostendo by a similar amount.
Any PrePayments created in Xero will now create External Payments in Ostendo.
2015-10-20 – Version 4.74
This version now retrieves applied OverPayments from Xero.
These are created as External Payments in Ostendo.
OSTENDO- XERO INTEGRATION
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 2 of 26
Xero Integration
Overview:
Ostendo integration to Xero offers an automated approach to the posting process of financial
entries. This means that depending upon your posting frequency setting, the financial transactions
created in Ostendo will automatically be passed through to Xero at a minimum of 5 minute
intervals.
Integration with Xero is active when you see “Xero” displayed at the bottom status bar of the
Ostendo main screen:
This document describes two methods of configuring Xero / Ostendo.
Why two methods?
The method you choose depends upon the areas of Ostendo you wish to use. It’s all about
whether you wish to manage your debtors in Ostendo or within Xero. Whatever method you
choose, the debtors invoice created in Ostendo will be passed through to the debtors ledger in
Xero, unlike the integration with other older products eg: MYOB where Ostendo only passes GL
journals across and the debtors ledger is maintained entirely within Ostendo.)
It is suggested that you setup an log in account with Xero.(This is Free of Charge). Then have
your clients invite you through Xero to allow access into their Xero database. This way you can
manage the API setup for each of your Ostendo / Xero integrations. Alternatively you will have to
manage each integration from each of your clients Xero log in’s.
Decision Process:
Method 1: (preferred method)
This method will allow you to manage debtors from within Xero. This means the invoice will
be raised in Ostendo, then passed through to Xero where you would record the customer
payment through the Bank Rec screen or via the Customer Payment option in Xero.
Ostendo then reads back the customer payment and updates the invoice in Ostendo and
creates a ‘posted’ customer payment (no financial posting is generated in Ostendo with this
type of payment)
This means that Ostendo debtors ledger is up to date when transactions are viewed
through the Operations Centre. It also allows Ostendo to determine available credit on
customers when Jobs or Sales Orders are created.
Customer Statements could be run from either Xero or Ostendo.
Ostendo version must be Update 187 or later before implementing the Ostendo-Xero link.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 3 of 26
Method 2:
This method MUST be used if ‘ANY’ of the following areas of Ostendo are in use
Point Of Sale
Customer Payments
Customer Deposits
Because Xero does not allow us to post directly to a Bank account, we must post the above
GL entries created to a Bank Clearing account in Xero. (This is an account type in Xero of
‘Current Asset’, rather than that of a Bank Account.). Then bank rules must be setup in
Xero in order to automatically create a transfer between this account and the actual bank
account to enable the bank reconciliation in Xero to be completed.
It is important to note that a good knowledge of Xero is required for this.
This method adopts the approach that the debtors ledger is maintained within Ostendo.
Customer Statements could be run from either Xero or Ostendo
Note: Make sure the Xero Ledger Codes are Payment Enabled and have the correct Tax code assigned.
Existing Invoices
If there are any outstanding invoices in Ostendo which are not fully paid before the planned cutover date, these must be manually created in Xero with the exact same invoice numbers otherwise subsequent payments (entered after cutover) will not be posted.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 4 of 26
Integration Setup: Preparation:
From the Sales Rules screen, ensure you have set the following:
Default Payment Method Default Payment Account
These defaults (or those set against the actual Customer) are used when Payments are
automatically read back into Ostendo from Xero in order for Ostendo to auto create a
Customer Payment to record the invoice as paid. (NB: No financial entries are created in
Ostendo for these payments)
From the System Settings screen,
Select Accounting Link Style = Xero
Set the Posting Frequency (Minimum setting 5 minutes)
Cutover Date = This controls whether financial entries will be posted to Xero
based on their transaction date.
Timeout = 120 mins
Retry Count = 1
Post all Foreign Currency transactions as Local Currency Ledger transactions: Tick
this if you wish to post everything in local currency. DO NOT TICK this if you wish to post
foreign currency transactions as FOREIGN CURRENCY with accompanying exchange rates.
External Accounts Receivable is automatically ticked for Xero (this cannot be
overridden)
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 5 of 26
File->System Configuration->User Security and Settings->User Options tab
At least one Ostendo User must have their “No External GL Posting” box unticked.
Posting of transactions to Xero is initiated when one or more Ostendo users (having “No
External GL Posting” unticked) are logged in.
Note to Ostendo Consultants:
The owner of the Xero organization/file (your client) must invite you as a User with at least
a STANDARD role or higher. To do that, they need to log into their Xero file and go into
Settings General Settings Users.
Once you are invited, you will be sent an email and you need to accept the invitation and
you will be prompted to set up your Xero account password (if you do not already have a
Xero account).
Also note that if the owner of the Xero file were to downgrade your role to
anything lower than STANDARD, this will cause the Private application (Ostendo)
to be disconnected from the Xero file. So make sure the file owner does not ever
downgrade your Xero User Role.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 6 of 26
Setting up the GENERALLEDGERSETTINGS record:
In December 2019, Xero has started to implement OAuth2.0 authentication for applications linking
to Xero files. With OAuth2.0, there is no requirement for creating a pair of public/private keys.
Up until February 2020, it is still possible to set up a link of your Ostendo to your Xero file via the
OAuth1.0a method.
You will need to use this link https://developer.xero.com/myapps?privateAppCreation=true
to setup using the OAuth1.0a method.
After February 2020 however, all new links must be set up via the OAuth2.0 method.
After the end of 2020, it is expected that all connections to your Xero file will be using only
OAuth2.0 authentication.
The AccountingLink scripts in Ostendo are now updated to cater for both OAuth1.0a and OAuth2.0
authentication.
To use the OAuth1.0a method, you must tick the “Use OAuth 1.0a” checkbox and enter the
name of the PrivateKey file in the GENERALLEDGERSETTINGS record:
(Note: For OAuth1.0a method, you do not need to use the XeroSetup script.)
To use the OAuth2.0 method, the “Use OAuth 1.0a” checkbox must be unticked. This will
automatically expose the Setup button and hide the Private Key field in the
GENERALLEDGERSETTINGS screen. For OAuth2.0 method, you must use the XeroSetup button
to complete the GENERALLEDGERSETTINGS record.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 7 of 26
OAuth1.0a Method:
Generate a unique public/private key-pair Save these files into the Ostendo folder.
Follow the following steps to create your own keys for your Ostendo database
Download the OpenSSL version for Windows from:
http://slproweb.com/products/Win32OpenSSL.html
NB: Ensure you only download the 32 bit version even though a 64 bit version is
available on this site. The version number and Type (size) may be different from the
example shown below, just choose the latest 32 bit version for Windows. Don’t
choose the Light version.
o Run the install application and restart your computer.
(NB: It is optional to pay a donation for this software)
o Open Command Prompt (Run as Administrator)
o Go to the OpenSSl-Win32\bin directory by typing the following:
cd c:\openssl-win32\bin
o Enter the following commands in the Command Prompt window one at a time:
NB: the example below generates keys that are valid for 10 years and it is
suggested that you include the expiry date in the file name as once these are
generated, there is no way to determine when they will expire. Adjust the ‘3650’
parameter if you wish to extend or reduce the expiry dates. These keys will be
generated in the C:\OpenSSL-Win32\bin folder.
Openssl genrsa –out privatekey20240423.pem 1024
Openssl req –new –x509 –key privatekey20240423.pem –out publickey20240423.cer –days 3650
o Please make a note of the expiry date of your certificate as you will need to
regenerate new keys prior to their expiry, otherwise the integration will stop.
o Copy these newly generated keys from the C:\OpenSSL-Win32\bin folder into the Ostendo folder. The generation of the unique Publickey.cer and Privatekey.pem key files is now complete.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 8 of 26
o Please contact Development-X if you have any problems relating to the generation
of keys.
Ensure you have already accepted a Xero user invitation to this Xero database.
Go to https://developer.xero.com/myapps?privateAppCreation=true
Log in to Xero if required:
After logging in, click on “Add Private App” button. You should then get a screen like this:
Enter “Ostendo – companyname” as
the App name,
select the Xero Organisation,
Click the Pubic Key box to select your Public Key (.cer) file,
Read and tick the Terms &
Conditions checkbox,
Click on the Create app button.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 9 of 26
Creating the App will generate the OAuth1.0a credentials.
Hit the Save button to save the
App. You have now applied your PublicKey Certificate to your Xero organisation and generated the
Consumer Key. The Consumer Key (or API Key) and the PrivateKey.pem file is used by Ostendo
to gain access to the Xero organisation during posting of financial transactions.
Setting up General Ledger Setting within Ostendo.
Go to File->Financial Configuration->General Ledger Settings
From this screen press the Add button
o Accounting Link = Xero
o URL or Path = https://api.xero.com/api.xro/2.0/
o Username = leave blank
o Password = leave blank
The Consumer Key is your API
Token.
Copy this key to your
GeneralLedgerSettings screen – API Token field
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 10 of 26
o “Use OAuth1.0a” checkbox = ticked
o API Token = Paste this from the ‘Consumer Key’ entry on the App Details screen
from previous step
o Private Key = type in the .pem file name
o Version = Ostendo will fill this field when the connect button is pressed
o Debug Mode = Tick this box now then and untick later when the installation is
running smoothly.
o Database Path = Ostendo will pre-fill this
Press the ‘Update’ button to automatically download the latest Xero Integration Scripts.
Now test the API connection to the Xero database by pressing the ‘Connect’ button
This completes the OAuth1.0a setup process.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 11 of 26
OAuth2.0 Method:
Go to File->Financial Configuration->General Ledger Settings
From this screen press the Add button
o Accounting Link = Xero
o Version = Ostendo will fill this field when the Update button is pressed
o Debug Mode = Tick this box now then and untick later when the installation is
running smoothly.
o URL or Path = https://api.xero.com/api.xro/2.0/
o Database Path = Ostendo will pre-fill this
o API Token = leave blank
o “Use OAuth1.0a” = unticked
Click on Setup button to run the XeroSetup script
You will be prompted to log in to your Xero file (if you are not already logged in).
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 12 of 26
Next, you will be prompted to “Allow Access” to your Xero file.
If you have multiple Xero organisations defined, you will be prompted to select which
organization to connect to. Just click on “Continue” button:
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 13 of 26
(If you have multiple Xero organizations) select the desired Xero organization to connect
to:
The XeroSetup script will then update the GENERALLEDGERSETTINGS record
and do a test connection to make sure the setup has completed successfully.
You may notice the following web page left on your browser:
You can close this down as there is no further use for it.
This completes the OAuth2.0 Setup process.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 14 of 26
Miscellaneous:
In Xero, setup the required GL accounts for the integration to Ostendo
In Ostendo setup the Tax Codes / Groups and Matrix rules
Xero relies on specific Tax Codes in order to determine Input and Output Tax. You must
specify these from the base country of your Xero database.
Eg:
New Zealand
TAX TYPE RATE NAME SYSTEM DEFINED
INPUT2 15.00 GST on Expenses
NONE 0.00 No GST Yes
ZERORATED 0.00 Zero Rated
OUTPUT2 15.00 GST on Income
GSTONIMPORTS 0.00 GST on Imports Yes
Australia
TAX TYPE RATE NAME SYSTEM DEFINED
OUTPUT 10.00 GST on Income
INPUT 10.00 GST on Expenses
CAPEXINPUT 10.00 GST on Capital Yes
EXEMPTEXPORT 0.00 GST Free Exports Yes
EXEMPTEXPENSES 0.00 GST Free Expenses Yes
EXEMPTCAPITAL 0.00 GST Free Capital Yes
EXEMPTOUTPUT 0.00 GST Free Income
INPUTTAXED 0.00 Input Taxed
BASEXCLUDED 0.00 BAS Excluded
GSTONCAPIMPORTS 0.00 GST on Capital Imports Yes
GSTONIMPORTS 0.00 GST on Imports Yes
New Zealand: INPUT2 (15% GST on Exps)
OUTPUT2 (15% GST on Income)
ZERORATED (Zero Rated on Income NB: Ensure the Ostendo External
Purchase Tax Code is set to NONE)
Australia OUTPUT (10% GST on Exps)
INPUT (10% GST on Income)
ZERORATED (Zero Rated on Income NB: Ensure the Ostendo External
Purchase Tax Code is set to NONE)
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 15 of 26
You will find all relevant Xero Tax Codes from:
http://developer.xero.com/documentation/api/types/#TaxTypes
Setup an appropriate Ostendo Tax Code with the Tax Rate %. Enter the appropriate Xero
External Tax Code (Income) along with the External Purchase Tax Code (NB: These are
case sensitive)
This means that one Tax Code in Ostendo can be set for Sales and Purchases, and Ostendo
will post it to the Xero External Tax Codes specified here.
Now setup up Ostendo Tax Groups and Matrix.
Here is an example of Tax setup for an Australian company:
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 16 of 26
In Ostendo Go to File->Financial Configuration-> General Ledger Settings and press the
Import button and select GL Codes. This process will import all Xero GL Codes (and
Tracking Categories and Options – if they exist) into Ostendo where they can be mapped
against the respective Cost Centre Codes. (NB: This process must be repeated if new GL
accounts and/or Tracking Categories/Options relating to Ostendo are created in Xero.)
Mapping Xero GL to Ostendo Cost Centres.
Go to General->Cost Centres
From the detail screen of each Cost Centre, select the Xero GL Account from the
Accounting System Ledger Code lookup field. (Do not attempt to map to any Xero Bank
Accounts remembering these must be mapped to a Bank Clearing Account if you are using
Method 2. Method 1 does not need any mapping to an Ostendo Bank Cost Centre)
- Purchase Invoice Freight & Additional Charges
o Ensure you have “Default Freight” and “Default Other” descriptors set in the
Purchase Rules to handle Freight and Additional Charges entered on the
Purchase Invoice screen. These descriptors can be mapped accordingly to post
such charges to the relevant GL Accounts.
Map the appropriate Tracking Category & Option (in Financial Category column) to the Cost
Centres (if they are used).
Optional:
If you wish to import Customers and Suppliers from Xero into Ostendo, go to the General
Ledger Settings and Import Customers / Suppliers by pressing the ‘Import’ button
If you wish to populate Xero Customers and Suppliers from those in Ostendo you can press
the ‘Export’ button from the General Ledger Settings screen.
Note: The same set of Customers and Suppliers must be set up on both sides.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 17 of 26
Points of Integration:
There are many Xero API resources available. However not all resources are part of the
Ostendo – Xero integration. The affected resources are as follows:
1. Contacts - this is the Xero resource which holds Supplier and Customer information. Any
addition or change in Supplier/Customer master records in Ostendo will be reflected in
Xero except ‘InActive’ records.
Xero API does not allow for posting of ContactStatus = DELETED. This means that InActive
Suppliers or Customers in Ostendo need to be manually set as DELETED in Xero.
The IsSupplier Boolean value cannot be set via Xero API – it is automatically set when an
accounts payable invoice is generated against the contact. This means Suppliers exported
from Ostendo into Xero will initially have the IsSupplier set to “false”.
The IsCustomer Boolean value cannot be set via Xero API – it is automatically set when an
accounts receivable invoice is generated against the contact. This means Customers
exported from Ostendo into Xero will initially have the IsCustomer set to “false”.
2. Manual Journals – all journals except Invoice Payment and Invoice Deposit, are
posted to this resource in Xero.
3. Invoices – this resource caters to both Sales Invoices (Type= ACCREC) and Purchase
Invoices (Type= ACCPAY). Sales Invoice transactions and Purchase Invoice transactions
are posted to Xero as AUTHORISED invoice transactions.
4. CreditNotes - this resource caters to both Sales CreditNotes (Type= ACCRECCREDIT)
and Purchase CreditNotes (Type= ACCPAYCREDIT). CreditNotes are posted to Xero as
AUTHORISED creditnote transactions.
5. Payments – Invoice Payment and Invoice Deposit journals are posted to Payments
resource in Xero. Only the Debit side of the journal is posted.
Note: Payment Discounts are posted to Xero as Credit Notes and applied to the associated
Invoices.
6. Customer Payments entered directly into Xero (if “No External Payments Returned” is
not ticked in System Settings) will be pulled back into Ostendo and Customer Payment
records will be created for the matching invoices. However no financial transactions will be
created in Ostendo for such records – to avoid reposting back into Xero again. Such
payment records in Ostendo will be marked as “External Payments”.
Any such Payments entered in Xero which are subsequently deleted in Xero will also trigger
the deletion of the matching “External Payment” from Ostendo’s CustomerPayments table.
There are a few accounts that you can’t use when entering manual journals in Xero.
These include system accounts (accounts receivable, accounts payable & retained
earnings) and bank accounts. You will receive a 400 validation error if you try and
use these reserved accounts. Consider setting up one or more clearing accounts if you need to journal to a bank account.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 18 of 26
7. OverPayments & PrePayments – When OverPayments or PrePayments are created in Xero, these will generate External Payments in Ostendo. Any allocations to sales invoices in Xero will be brought into Ostendo and applied to the corresponding invoices. Any Refunds of overpayment/prepayment in Xero will be brought into Ostendo to reduce the PAYMENTAMOUNT in CUSTOMERPAYMENTS record accordingly. Please note that OverPayments/Prepayments created in Xero can only be allocated to invoices from within Xero.
8. Please note that for Payment Style – “Match Credits to Invoices”, there are no additional
financial transactions generated. This means that any such matching in Ostendo will need
to be manually done in the linked Accounting System as well.
All financial transactions generated in Ostendo will be summarised into the following tables:
JOURNALHEADER–updates ManualJournals or Payments in xero
JOURNALLINES – updates ManualJournals or Payments in Xero
JOURNALINVHEADER – updates Invoices or CreditNotes in Xero
JOURNALINVLINES – updates Invoices or CreditNotes in Xero
Changes to Customer Master and Supplier Master record will create transactions in
FINANCIALCUSTOMERS and FINANCIALSUPPLIERS tables respectively.
You can see a more detailed mapping of fields between Ostendo tables and Xero resources in
Appendix A.
Note: If you select “No External Payments Returned” in System Settings – Accounting
Link, then payments (and deleted payments) entered in Xero will not be brought back into
Ostendo.
To facilitate the deletion of payments in Ostendo under such circumstances, you can
download a Command Script from here:
http://ostendo.info/downloads/ostendo/CmdScript-ForceDeletePmt-XERO.zip
This Command Script will remove all the CustomerPaymentTrans records from the payment.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 19 of 26
Xero Limits
Please note that Xero has certain transaction limits. This link explains the Xero Limits quite
clearly:
http://developer.xero.com/documentation/getting-started/xero-api-limits/
We have done the following to minimize the chances of exceeding these limits:
1. To reduce the number of calls we make to Xero when exporting customer and supplier
records, we bundle 100 records at a time. However each request cannot exceed 3.5MB
(size limit per call).
2. The 1000 API calls limit is a “rolling 24 hour period”. So if API calls are spread out evenly
then it would be less of an issue. We have provided in Systems Settings the function to set
the frequency of posting. If you have fairly high transaction volumes, you may need to set
a more regular posting frequency (perhaps hourly or every 30 mins).
You should also be familiar with Xero’s SYSTEM LIMITS as described in the link above:
a. Xero can only handle up to 1000 invoices per month
b. Xero can handle up to 1000 bank transactions per month
c. Using Xero to handle Inventory of more than 1000 items may cause performance issues.
(Having Ostendo handle inventory should help).
d. Storing more than 5000 Contacts (suppliers + customers + employees) in Xero could also
cause performance issues.
Also there is the Pricing Plan limits – which determines the number of Invoices that can be
processed by Xero in a month.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 20 of 26
The Automated Posting Process:
As transaction records are being added to the tables listed above, Ostendo will flag them as
“Ready to Send”. Ostendo will post transactions to Xero based on the frequency set in
System Settings. The frequency of posting can be set to in terms of minutes or hours. For
most customers, once every hour or two hours should be frequent enough.
All transactions which are “Ready to Send” will be assigned a batch number and posted as
one batch in the following order:
FINANCIALSUPPLIERS transactions to Xero Contacts,
FINANCIALCUSTOMERS transactions to Xero Contacts,
JOURNALHEADER and LINES transactions (except Invoice Payments and Invoice Deposits) to
Xero
Manual journals
JOURNALINVHEADER and LINES transactions to Xero Invoices and CreditNotes
JOURNALHEADER and LINES for Invoice Payments and Invoice Deposits to Xero Payments.
This process runs automatically in the background when there is at least one user logged in.
This process can be stopped if the “No External GL Posting” flag is ticked for ALL users of the
system. This flag is found in File->System Configuration->User Security & Options->User
Options tab.
User intervention is only required if there are failed batches occurring – which is indicated
in the top status bar of the Ostendo main screen:
If you click on the failed batches in the status bar, you will get the following:
Click on “Display All batches that Failed” button and you will see a list of
failed batches. Click on the Detail tab, and you will see the invalid
transactions:
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 21 of 26
Reviewing and correcting Failed Batches:
The following GENERAL Inquiries are available to review the batches and transactions:
- Inquiry – Ledger Journals
- Inquiry – Ledger Sales Invoices
- Inquiry – Ledger Purchase Invoices
Example of Ledger Journal inquiry – detail screen:
You could also create your own inquiries/database queries to review the transactions
in these tables. Common causes of failed batches include:
- Incorrect tax codes used (Tax code mapping not done correctly).
- Ledger Account in Xero was not set to accept payments.
- Missing Account Codes (Cost Centre – Ledger Codes mapping incorrect or incomplete).
Once the errors are fixed, the batches can be re-posted by clicking on the Repost Batch and
Process Batches buttons.
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 22 of 26
Appendix A: Ostendo-Xero Data Mapping
1. Suppliers
OSTENDO Xero
Table FieldName Fieldname Resource FINANCIALSUPPLIERS Supplier Name Contacts
IsSupplier (= true) Contacts ContactStatus (= Active) Contacts FINANCIALSUPPLIERS SupplierWeb Website Contacts FINANCIALSUPPLIERS SupplierEmail EmailAddress Contacts FINANCIALSUPPLIERS CurrencyCode DefaultCurrency Contacts
AddressType (POBOX) Contacts FINANCIALSUPPLIERS SupplierAddress1 AddressLine1 Contacts FINANCIALSUPPLIERS SupplierAddress2 AddressLine2 Contacts FINANCIALSUPPLIERS SupplierAddress3 AddressLine3 Contacts FINANCIALSUPPLIERS SupplierCity City Contacts FINANCIALSUPPLIERS SupplierState Region Contacts FINANCIALSUPPLIERS SupplierPostalCode PostalCode Contacts FINANCIALSUPPLIERS SupplierCountry Country Contacts FINANCIALSUPPLIERS PrimaryContact AttentionTo Contacts
AddressType (STREET) Contacts
FINANCIALSUPPLIERS PhysicalAddress1 AddressLine1 Contacts FINANCIALSUPPLIERS PhysicalAddress2 AddressLine2 Contacts FINANCIALSUPPLIERS PhysicalAddress3 AddressLine3 Contacts FINANCIALSUPPLIERS PhysicalCity City Contacts FINANCIALSUPPLIERS PhysicalState Region Contacts FINANCIALSUPPLIERS PhysicalPostalCode PostalCode Contacts FINANCIALSUPPLIERS PhysicalCountry Country Contacts FINANCIALSUPPLIERS PrimaryContact AttentionTo Contacts PhoneType (FAX) Contacts FINANCIALSUPPLIERS SupplierFax PhoneNumber Contacts PhoneType (MOBILE) Contacts FINANCIALSUPPLIERS SupplierMobile PhoneNumber Contacts PhoneType (DEFAULT) Contacts FINANCIALSUPPLIERS SupplierPhone PhoneNumber Contacts
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 23 of 26
2. Customers
OSTENDO Xero
Table FieldName Fieldname Resource FINANCIALCUSTOMERS Customer Name Contacts
IsCustomer (= true) Contacts ContactStatus (= Active) Contacts FINANCIALCUSTOMERS CustomerWeb Website Contacts FINANCIALCUSTOMERS CustomerEmail EmailAddress Contacts FINANCIALCUSTOMERS CurrencyCode DefaultCurrency Contacts
AddressType (POBOX) Contacts FINANCIALCUSTOMERS CustomerAddress1 AddressLine1 Contacts FINANCIALCUSTOMERS CustomerAddress2 AddressLine2 Contacts FINANCIALCUSTOMERS CustomerAddress3 AddressLine3 Contacts FINANCIALCUSTOMERS CustomerCity City Contacts FINANCIALCUSTOMERS CustomerState Region Contacts FINANCIALCUSTOMERS CustomerPostalCode PostalCode Contacts FINANCIALCUSTOMERS CustomerCountry Country Contacts FINANCIALCUSTOMERS PrimaryContact AttentionTo Contacts
AddressType (STREET) Contacts
FINANCIALCUSTOMERS DeliveryAddress1 AddressLine1 Contacts FINANCIALCUSTOMERS DeliveryAddress2 AddressLine2 Contacts FINANCIALCUSTOMERS DeliveryAddress3 AddressLine3 Contacts FINANCIALCUSTOMERS DeliveryCity City Contacts FINANCIALCUSTOMERS DeliveryState Region Contacts FINANCIALCUSTOMERS DeliveryPostalCode PostalCode Contacts FINANCIALCUSTOMERS DeliveryCountry Country Contacts FINANCIALCUSTOMERS PrimaryContact AttentionTo Contacts PhoneType (FAX) Contacts FINANCIALCUSTOMERS CustomerFax PhoneNumber Contacts PhoneType (MOBILE) Contacts FINANCIALCUSTOMERS CustomerMobile PhoneNumber Contacts PhoneType (DEFAULT) Contacts FINANCIALCUSTOMERS CustomerPhone PhoneNumber Contacts
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 24 of 26
3. JOURNALS (except Invoice Payments and Invoice Deposits)
OSTENDO Xero
Table FieldName Fieldname Resource JOURNALHEADER JournalDescription Narration ManualJournals
JOURNALHEADER JournalDate Date ManualJournals Status (= POSTED) ManualJournals
JournalLine: ManualJournals
JOURNALLINES LineDescription Description ManualJournals JOURNALLINES LedgerCode AccountCode ManualJournals JOURNALLINES ExternalTaxCode TaxType ManualJournals JOURNALLINES DebitValue / CreditValue LineAmount ManualJournals JOURNALLINES FINANCIALCATEGORY Tracking Category ManualJournals JOURNALLINES FINANCIALCATEGORY Tracking Option ManualJournals
4. Journals - Invoice Payment and Invoice Deposit
OSTENDO Xero
Table FieldName Fieldname Resource Invoice Payments
JOURNALHEADER ReferenceNumber InvoiceNumber Payments Account Payments
JOURNALLINES LedgerCode Code Payments JOURNALHEADER JournalDate Date Payments JOURNALLINES ExchangeRate CurrencyRate Payments JOURNALLINES DebitValue Amount Payments JOURNALHEADER JournalID [JournalNumber] Reference Payments
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 25 of 26
5. Invoices
OSTENDO Xero
Table FieldName Fieldname Resource JOURNALINVHEADER InvoiceNettTotal > 0 Invoice Invoices
JOURNALINVHEADER InvoiceType (Purchase) Type (= ACCPAY) Invoices JOURNALINVHEADER InvoiceNumber (CompanyInvnumber) InvoiceNumber Invoices JOURNALINVHEADER InvoiceType (Sales) Type (= ACCREC) Invoices JOURNALINVHEADER InvoiceNumber InvoiceNumber Invoices JOURNALINVHEADER InvoiceReference Reference Invoices JOURNALINVHEADER InvoiceDueDate DueDate Invoices JOURNALINVHEADER InvoiceNettTotal SubTotal Invoices JOURNALINVHEADER InvoiceTaxTotal TotalTax Invoices JOURNALINVHEADER InvoiceTotal Total Invoices
Contact Invoices
JOURNALINVHEADER CompanyName Name Invoices JOURNALINVHEADER InvoiceDate Date Invoices Status (AUTHORISED) Invoices
LineAmountTypes (Exclusive) Invoices
JOURNALINVHEADER CurrencyCode CurrencyCode Invoices JOURNALINVHEADER Exchangerate CurrencyRate Invoices
LineItem Invoices
JOURNALINVLINES ExternalTaxCode TaxType Invoices JOURNALINVHEADER, JOURNALINVLINES
ExchangeRate,InvoiceQty, LineCode, LineDescription
Description Invoices
Quantity (= 1) Invoices
JOURNALINVLINES DebitLedgerCode / CreditLedgerCode AccountCode Invoices JOURNALINVLINES ExtendedNettPrice LineAmount Invoices JOURNALINVLINES ExtendedTax TaxAmount Invoices JOURNALINVLINES FINANCIALCATEGORY Tracking Category Invoices JOURNALINVLINES FINANCIALCATEGORY Tracking Option Invoices
Ostendo – Xero Integration Revision 1.0 20 Dec/2019 Page 26 of 26
6. CreditNotes
OSTENDO Xero
Table FieldName Fieldname Resource JOURNALINVHEADER InvoiceNettTotal < 0 CreditNote CreditNotes
JOURNALINVHEADER InvoiceType (Purchase) Type (= ACCPAYCREDIT) CreditNotes JOURNALINVHEADER InvoiceNumber (CompanyInvnumber) CreditNoteNumber CreditNotes JOURNALINVHEADER InvoiceReference Reference CreditNotes JOURNALINVHEADER InvoiceType (Sales) Type (= ACCRECCREDIT) CreditNotes JOURNALINVHEADER InvoiceNumber CreditNoteNumber CreditNotes JOURNALINVHEADER InvoiceReference Reference CreditNotes JOURNALINVHEADER InvoiceDueDate FullyPaidOnDate CreditNotes JOURNALINVHEADER InvoiceNettTotal SubTotal CreditNotes JOURNALINVHEADER InvoiceTaxTotal TotalTax CreditNotes JOURNALINVHEADER InvoiceTotal Total CreditNotes
Contact CreditNotes
JOURNALINVHEADER CompanyName Name CreditNotes JOURNALINVHEADER InvoiceDate Date CreditNotes Status (AUTHORISED) CreditNotes
LineAmountTypes (Exclusive) CreditNotes
JOURNALINVHEADER CurrencyCode CurrencyCode CreditNotes JOURNALINVHEADER Exchangerate CurrencyRate CreditNotes
LineItem CreditNotes
JOURNALINVLINES ExternalTaxCode TaxType CreditNotes JOURNALINVHEADER, JOURNALINVLINES
ExchangeRate,InvoiceQty, LineCode, LineDescription
Description CreditNotes
Quantity (= 1) CreditNotes
JOURNALINVLINES DebitLedgerCode / CreditLedgerCode AccountCode CreditNotes JOURNALINVLINES ExtendedNettPrice (-) LineAmount CreditNotes JOURNALINVLINES ExtendedTax (-) TaxAmount CreditNotes