Xero
Create invoices, manage contacts, and track transactions in Xero. In Appbricx, your workflows and server functions call it by name once it is connected.
What you can do
22 actions, each one call from a workflow or a server function. Triggers come from your app: a row changing, a schedule or a webhook.
- Create or Update ContactCreate Xero Contact
xero_create_contact - Create or Update InvoiceCreate Xero Invoice
xero_create_invoice - Add Items to Existing Sales InvoiceAdds line items to an existing sales invoice (ACCREC).
xero_add_items_to_sales_invoice - Allocate Credit Note to InvoiceAllocates a credit note to a specific invoice.
xero_allocate_credit_note_to_invoice - Create Bank TransferTransfers money between two bank accounts in Xero.
xero_create_bank_transfer - Create BillCreates a new bill (Accounts Payable).
xero_create_bill - Create Credit NoteCreates a new credit note for a contact.
xero_create_credit_note - Create Inventory ItemCreates a new inventory item in Xero.
xero_create_inventory_item - Create PaymentApplies a payment to an invoice.
xero_create_payment - Create ProjectCreates a new project for a contact.
xero_create_project - Create Purchase OrderCreates a new purchase order for a contact.
xero_create_purchase_order - Create New Quote DraftCreates a new draft quote.
xero_create_quote_draft
Set it up
About two minutes, once per project or once for the whole workspace.
- Open Integrations in the builder
Backend panel, Integrations tab, then Xero. To connect it for every project, use Workspace settings, Integrations.
- Sign in to Xero
You sign in to Xero and approve access. Appbricx keeps the tokens, encrypted, and refreshes them.
openidaccounting.transactions
This uses an OAuth app: the platform's, or your own from the admin panel, and you can bring your own credentials.
- Call an action
From a workflow, by integration id and action name. The call answers with success, output and, when it fails, the reason.
Workflow // .workflow.js (native ctx) export async function run(ctx) { const res = await ctx.integrations.invoke("xero", "xero_create_contact", { "tenant_id": "<tenant_id>", "name": "<contact name>" }); if (!res.success) throw new Error(res.error); ctx.log.info("Xero answered", { output: res.output }); }
More in Finance and payments
Xero and its logo are trademarks of their owner, shown only to identify the service this integration connects to. Their use does not imply endorsement by, or affiliation with, that company.