fmAccounting Link (Xero Edition) and Unit Price Rounding in Xero
By default the Xero API accepts unit prices (UnitAmount) to two decimals places – this means that if you were entering a line item on an Invoice and entered ‘1.795’ for the Unit Price it would be rounded to $1.80 in Xero. For most customers 2 decimal places is sufficient for the line item unit price, however there are some customers that do require greater precision. Xero offer a way to opt-in to 4 decimal places by adding a parameter to your API request.
For example if you wanted to create an Invoice and include 4 decimal places on the unit price for the line items you would change the URL from:
https://api.xero.com/api.xro/2.0/Invoices
to:
https://api.xero.com/api.xro/2.0/Invoices?unitdp=4
Unfortunately it wasn’t as simple as changing the URL in the appropriate fmAccounting Link scripts – even after changing the URL and including unit prices on the line items with 4 decimal places they were still being rounded to two decimals places when uploaded to Xero. We’ve come up with a solution to this to allow you to specify unit prices with 4 decimal places – you’ll need to simply install an updated version of the BaseElements plug-in (v3.3.8) and make sure you change your request URL to include the additional querystring parameter.
If you need to specify unit prices with 4 decimal places please get in touch and we’ll send you the new version of the BaseElements plug-in to use. You can get more information on the Xero developer website here:
https://developer.xero.com/documentation/api-guides/rounding-in-xero
Leave a Reply
Want to join the discussion?Feel free to contribute!