Digifabster integrates seamlessly with Xero, streamlining and automating the order management and financial processes for businesses
How to connect
At the bottom of the settings page in the back office click ‘Connect with Xero’.
After clicking the ‘Connect Xero’ button you will be redirected to the Xero Connecting app page. You should be logged in at https://go.xero.com/Dashboard/ and set up his organization already:
Status Flow
Triggers
In this case a request will be sent to Xero when the DF Order gets one of the processing statuses.
By default they are:
– Manufacturing status: Placed
NOTE: A set of statuses can be configured.
Records mapping
Records mapping is the correspondence of data on our side (Digifabster) with Xero integration.
For instance, on Digifabster's side, the field order.date
corresponds to the Date field
in Xero
By default we create in Xero: Contact, Invoice.
Default fields
Contact
By default we sent – Name.
Name – DF Order company name
(contact_name is derived from the DF Order address or from the first and last names, depending on whether the billing or delivery addresses exists)
FirstName – DF Order first name
LastName – DF Order last name
EmailAddress – DF Order email
ContactPersons – array with next fields: DF Order first name, DF Order last name, DF Order email
The Contact and ContactPersons name and mail may be different, for example, if the order data has been changed and a request has been sent to Xero to update the data there. In this case, the changed user data in the order will go to ContactPersons.
NOTE: A set of fields can be configured.
Invoice
By default we sent – Type, Contact, SentToContact, LineItems, Reference, Total
1. Type – Xero internal invoice type
By default we sent “ACCREC”
2. Contact – Xero Contact ID which was created in a previous step
3. SentToContact – Xero internal field
By default we sent “true”
4. LineItems – DF Order purchases (description, quantity, rate, discount)
4.1. description – string with next data
Order #<df_order_id>, Model <df_model_title>, Material <df_material_title>: <df_material_description>, Notes: <df_order_notes>
4.2. quantity – DF Purchase amount
example: “10”
4.3. rate – DF Purchase unit price
example “1000.01”
4.4.discount – DF Order full discount
example: “85”
formula: (1 - (1 - purchase.discount_rate) * (1 - order.discount_rate)) * 100
5. Reference – DF Order ID
6. Total – DF Order full price including delivery price
NOTE: A set of fields can be configured
We sent the DF Order startup cost and delivery price to Xero as one of the line items.
Create or Update logic
After first creating Invoice we store InvoiceID in DF, which is used to update already existing entities in Xero.
The Name field is used to update the Contact, so we don’t store ContactID.
We send an entity update request to Xero every time we change an order in DF, as long as its status matches the trigger conditions (see Status Flow)
Updating occurs with the same set of fields that are relevant for each entity (Contact, Invoice)
After successfully creating entities in Xero, inside DF it will be displayed like this:
Webhooks
We provide a webhook to update order data (https://digifabster.com/webhooks/xero_invoice_webhook/)
Logic: when an invoice in Xero gets PAID status, the webhook allows you to set the order status to Free for Manufacturing in DF.