Xero Integration

See link below for Workflow between Flex Catering and Xero:

Rules and Notes

1. The Customer reconciliation between the 2 systems is done by the Contact Name in Xero (Company Name in Flex Catering). If the Company Name is empty the Contact Name in Xero will then be the First and Last Name.

2. The Company Name (Contact Name in Xero) will show on Invoice list by default in Xero. If there is no Company in Flex Catering, then it will use the Customer Name (First and Last) as the Contact Name in Xero. Contact Name in mandatory in Xero.

3. Additionally, Xero can’t have repetitive Contact Name. Contact Name MUST be unique (for example: you can’t have two Contact Names ‘Flex Catering’ in Xero). Hence if the Contact Name already exists in Xero, it will be updated as per Flex Catering.

4. On the first import the Contact Name is matched between Xero and Flex Catering and update.

5. If the Customer Name is not found in Xero, the import process will create a New Contact in Xero as per Flex Catering.

6. Xero has a time limit for the import session (30 minutes). Each order can take around 2 minutes to import (varying depending on the size of the order). Hence you can only import 10 orders at the time, otherwise the session will finish and the import fails.

7.  Order Status Matching (Flex Catering – Xero):
– Pending = Draft
– $0 value orders = Draft
Note: So only when order is both Pending and Unpaid or $0 it imports as Draft.
– New, Approved, Invoiced = Approved/Authorised
– All Status Paid / Partially Paid / Payment Added = Approved/Authorised
Note: If Payment / Status Paid / Partial Payment is added to Pending order, it also import as Approved in Xero.
– If Status in Paid in Flex Catering but no amount entered in payment section, it will use the total order amount as payment amount when importing to Xero.

8. If order is imported to Xero, it will not allow to import this same order again (Ticked as imported to Xero in Flex Catering). If order is edited in Flex, it removes this tick and allows to update (re-import) this order into Xero.

9. This is how the integration handles order Payment:
– If new Order, it will import the order to Xero with its respective payment.
– If order exist in Xero (it will check Order #), it will update order as per Flex Catering.
– If payment exists in Xero (manually entered in Xero), it will update the order, ignore payment from Flex Catering and keep payment as per Xero.
– If there is no payment in Xero, it will update payment as per Flex Catering.
– If order is Fully Paid in Xero, order can’t be updated in Xero from Flex Catering (You need to remove payment in Xero first if you want to update this specific order).

10. Delivery fee (and extra delivery fee) in Flex Catering is passed as line item in order in Xero.

11. Discount also pass to Xero as line item in order in Xero.

12. Flex Catering imports orders to Xero based on the Order number. If an order is voided in Xero, the integration will add the order again to Xero and include -1 to the order number. For example: in Flex Catering the order number is 2555. If this order number has been voided in Xero, it will create a new order in Xero with the order number 2555-1. This is because voided orders in Xero can’t be edited nor updated.

13. Same as item 11 above applies to Contacts.

14. Ticks next to the orders in the order list:
– Green tick: Successfully imported into Xero.
– Yellow tick: It was successfully imported but has been edited since. It can be re-imported.
– Red tick: failed to import.