Collect open Xero sales invoices with a BoomFi paylink.
Connect Xero so an authorised sales invoice that still has an amount due gets a BoomFi paylink. The customer pays with Pay now on the Xero invoice. BoomFi then records that payment in Xero.Xero is connected with a sign-in, not an API key. This guide is for the BoomFi merchant dashboard.
Contact your account manager to enable Xero for your organisation. Until they do, the Xero card stays unavailable.
In BoomFi, open Settings → Integration.
Find Xero and choose Connect.
Sign in to Xero and approve access to invoices, contacts, and payments. Approve that screen in the same browser that started Connect.
If the Xero user belongs to more than one organisation, choose the one to connect. One Xero organisation connects to one BoomFi organisation. Connecting again stops the previous sync.
The card shows Disconnect when that organisation is connected. A warning on the card means the last sync could not finish, or an invoice was skipped.
Add a new service lists Stripe cards and PayPal. BoomFi is added from add another online payment option.Select Custom Payment URL and continue.Set Account name to the name that should show on the invoice, such as BoomFi. Xero fills Pay now button text with Pay with credit card. Change that to Pay now.Paste this custom URL:
On the test dashboard, use https://capi-test.boomfi.xyz in place of https://capi.boomfi.xyz. A production URL does not see invoices on the test dashboard. Checkout there runs in test mode.Xero replaces [INVOICEID], [CURRENCY], [AMOUNTDUE], and [SHORTCODE] when the customer clicks. Show details on that form uses [INVOICENUMBER] in its example. That placeholder is the invoice number. A URL built from it opens a page that cannot take the payment.
Use [INVOICEID], not [INVOICENUMBER]. The click is accepted only when the invoice id, currency, amount due, and Xero short code all match the open invoice. Anything else sends the customer to a page that cannot take the payment.
Save. To change the URL or the button later, open Connected services, then Edit → Service details.
Open Connected services → Manage themes. For each branding theme you send, set Credit card to the account you just added. Standard is the default theme. Save.On the invoice, Branding theme is the theme you chose and Online payments shows that account name. A new invoice uses the default theme. To use another theme, change Branding theme on that invoice. New themes are added from Settings → Invoice settings → New Branding Theme.
A branding theme has one Credit card service. Cards and digital wallets (Stripe) uses that same column. To offer Stripe cards on some invoices and BoomFi on others, add a second branding theme, connect Stripe to its Credit card column, and choose that theme on the invoice.PayPal is its own service on Add a new service. Once it is connected, it can sit on the same theme as BoomFi. The customer then chooses Pay now or PayPal.If the customer pays another way, the next sync sees the invoice paid and BoomFi turns its paylink off.
Create the invoice in Xero. BoomFi does not add a line to it.
Create a sales invoice with a contact, a currency, at least one line, and an amount due.
Set Branding theme to the theme whose Credit card service is BoomFi. Online payments then shows that account name.
Approve the invoice so its status is Awaiting payment. Drafts and invoices submitted for approval are left alone. Bills are left alone. An invoice that is already paid does not get a paylink.
Connecting imports open invoices once. After that, Xero notifies BoomFi when an invoice is created or approved. Open invoices are also checked about once an hour, in case a notification is missed.BoomFi creates the customer and a one-time paylink. The paylink is named Invoice plus the Xero invoice number, and the amount is the amount due. The Xero lines stay on the Xero invoice. They are not listed on the paylink or on checkout.
Checkout shows the invoice number and a single total. It does not show the Xero line descriptions, quantities, or unit prices.
An invoice with no contact, no currency, or no date is skipped. The rest of the sync continues, and the Xero card shows a warning.
On the Xero invoice, the lines are the ones you wrote. Pay now is the button from the branding theme.Choosing Pay now sends the customer to BoomFi. BoomFi checks the invoice, the currency, and the amount still due, then opens the paylink. Checkout asks for the payer’s details and a payment method. The summary is the total only.
In BoomFi, open Transactions. The payment status is Succeeded, and the reference is the Xero invoice.
In Xero, that invoice is marked Paid and the amount due is 0. The paylink in BoomFi becomes inactive.
A short payment in the invoice currency is recorded in Xero as that amount. The invoice and the paylink stay open.A payment in another currency, including crypto, is recorded in Xero as the amount still due. The invoice is marked paid and the paylink is turned off.If the payment covers the amount due and Xero has no account that can take a payment, the paylink is turned off so the customer cannot pay it twice. The Xero card shows a warning. Add an account in Xero that can take invoice payments. The next sync records the payment.If an invoice that already has a paylink is voided or deleted in Xero, the next sync turns that paylink off.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"BoomFi","colors":{"primary":"#242424","light":"#D5FF2F","dark":"#D5FF2F"},"logo":{"light":"https://mintcdn.com/boom-fi/U9Qjv5D7mWH8OHeQ/assets/logo.svg?fit=max\u0026auto=format\u0026n=U9Qjv5D7mWH8OHeQ\u0026q=85\u0026s=9f3a3b3a4a2d198c0c469c900f831e51","dark":"https://mintcdn.com/boom-fi/U9Qjv5D7mWH8OHeQ/assets/logo-dark.svg?fit=max\u0026auto=format\u0026n=U9Qjv5D7mWH8OHeQ\u0026q=85\u0026s=52a0e4a6e798b2441e5e70cb0a0751e0"},"favicon":"https://mintcdn.com/boom-fi/U9Qjv5D7mWH8OHeQ/assets/favicon.png?fit=max\u0026auto=format\u0026n=U9Qjv5D7mWH8OHeQ\u0026q=85\u0026s=59af6f0ccf788b748755b14883512919","api":{"playground":{"display":"interactive"}},"navbar":{"primary":{"type":"button","label":"Dashboard","href":"https://app.boomfi.xyz/login"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"boom-fi","hasAudioNarration":false,"actualSubdomain":"boom-fi","customDomains":["docs.boomfi.xyz"],"gitSource":{"type":"github","owner":"boomfi","repo":"docs","deployBranch":"deploy","contentDirectory":"dist/boomfi","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6acfd2f6aba551e63296407b","collectionId":"94bc9fbd-002b-42e5-aa2e-59845148df55","liveDeploymentHistoryId":"6acfd2f6aba551e63296407b","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad88915f9199d9b39f268fc","clientVersion":"0.0.3908","searchFilterCounts":[{"language":"default","tag":"API reference","count":72},{"language":"default","tag":"Documentation","count":51},{"language":"default","tag":"Payments","count":13},{"language":"default","tag":"Partners","count":10},{"language":"default","tag":"Paylinks","count":8},{"language":"default","tag":"Dashboard","count":7},{"language":"default","tag":"Pricing and Policies","count":7},{"language":"default","tag":"Checkout Sessions","count":7},{"language":"default","tag":"Virtual Accounts","count":7},{"language":"default","tag":"Webhooks","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"teamspace","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"#topbar-cta-button,#topbar-cta-button *{color:#242424!important}html:not(.dark) #mobile-nav-content li[data-active],html:not(.dark) #sidebar-content li[data-active]{background-color:transparent!important}html:not(.dark) #mobile-nav-content li[data-active] a,html:not(.dark) #sidebar-content li[data-active] a{background-color:#d5ff2f!important;color:#242424!important;border-radius:.75rem}"}],"page":{"pagePath":"integrations/xero","slug":"/integrations/xero","pageMetadata":{"title":"Xero","description":"Collect open Xero sales invoices with a BoomFi paylink.","href":"/integrations/xero"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Collect open Xero sales invoices with a BoomFi paylink.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Connect `,_jsx(_components.a,{href:`https://www.xero.com/`,children:`Xero`}),` so an authorised sales invoice that still has an amount due gets a BoomFi paylink. The customer pays with `,_jsx(_components.strong,{children:`Pay now`}),` on the Xero invoice. BoomFi then records that payment in Xero.`]}),`\n`,_jsx(_components.p,{children:`Xero is connected with a sign-in, not an API key. This guide is for the BoomFi merchant dashboard.`}),`\n`,_jsx(Heading,{level:`2`,id:`connect-xero`,children:`Connect Xero`}),`\n`,_jsx(_components.p,{children:`Contact your account manager to enable Xero for your organisation. Until they do, the Xero card stays unavailable.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In BoomFi, open `,_jsx(_components.strong,{children:`Settings → Integration`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Find `,_jsx(_components.strong,{children:`Xero`}),` and choose `,_jsx(_components.strong,{children:`Connect`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Sign in to Xero and approve access to invoices, contacts, and payments. Approve that screen in the same browser that started `,_jsx(_components.strong,{children:`Connect`}),`.`]}),`\n`,_jsx(_components.li,{children:`If the Xero user belongs to more than one organisation, choose the one to connect. One Xero organisation connects to one BoomFi organisation. Connecting again stops the previous sync.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The card shows `,_jsx(_components.strong,{children:`Disconnect`}),` when that organisation is connected. A warning on the card means the last sync could not finish, or an invoice was skipped.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/integrations-xero-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=9ec605cb87bf3e6eea9660fc446e9b2f`,alt:`BoomFi integrations with Xero connected`,\"data-og-width\":`1104`,width:`1104`,\"data-og-height\":`636`,height:`636`,\"data-path\":`integrations/images/integrations-xero-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/integrations-xero-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=8aa904db0f162cb83826f2de26165627 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/integrations-xero-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=15be6ec1f5d2b6e027cffe2b33148663 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/integrations-xero-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=2f0b6c092bd2656460c5a5f6c9fa6408 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/integrations-xero-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=94ddc031ef2a64ce690f1711f73a1417 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/integrations-xero-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=e848bedd6d2fd59b8d451bc8ee0049ee 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/integrations-xero-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=eb624f4346204227b7aa3d3f8624b9bd 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`add-pay-now`,children:`Add Pay now`}),`\n`,_jsxs(_components.p,{children:[`The button is a custom payment URL on the invoice branding theme. Add it in Xero before you send invoices. Open `,_jsx(_components.strong,{children:`Sales → Online payments`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`add-the-payment-service`,children:`Add the payment service`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Add a new service`}),` lists Stripe cards and PayPal. BoomFi is added from `,_jsx(_components.strong,{children:`add another online payment option`}),`.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-add-service-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=995284ce6a90c2f6623b584eb7eaef58`,alt:`Add a payment service, with Stripe cards and PayPal`,\"data-og-width\":`1630`,width:`1630`,\"data-og-height\":`1912`,height:`1912`,\"data-path\":`integrations/images/xero-add-service-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-add-service-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=ead09c1e3bed315f4d9b7e91ceedcf5a 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-add-service-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=a037a2aa6ab4f675527dab078239db37 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-add-service-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=f566fd61d6fed7aaeaa55c9328e31c34 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-add-service-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=68cf35195c1369bbbc7ca3e2e1e38939 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-add-service-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=eac0753c46922f457519119ca567c2cf 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-add-service-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=ab033b384378b9c65e00a4aee65c8683 2500w`}),`\n`,_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Custom Payment URL`}),` and continue.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-choice-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=3982e1785d18922dfe449a3d9de2ddf4`,alt:`Additional payment services, with Custom Payment URL`,\"data-og-width\":`1630`,width:`1630`,\"data-og-height\":`1912`,height:`1912`,\"data-path\":`integrations/images/xero-custom-url-choice-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-choice-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=2cc159f02f6c5899de8cc74f50134543 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-choice-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=8114c19eddfc5ef9d571abbf27656a8b 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-choice-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=3450017f5b4f277896b885fe5edf8a6b 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-choice-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=e07e976584543fb5d8ea40b9a2aaed91 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-choice-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=e11504fd9889ecd5f92d49485746f126 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-choice-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=1248d906d540ebdd35a97b6ceb71a349 2500w`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.strong,{children:`Account name`}),` to the name that should show on the invoice, such as BoomFi. Xero fills `,_jsx(_components.strong,{children:`Pay now button text`}),` with `,_jsx(_components.strong,{children:`Pay with credit card`}),`. Change that to `,_jsx(_components.strong,{children:`Pay now`}),`.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-form-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=da5df7d9a506b1cc5026e9e4e5349048`,alt:`Add custom URL connection, before the URL is pasted`,\"data-og-width\":`1630`,width:`1630`,\"data-og-height\":`1912`,height:`1912`,\"data-path\":`integrations/images/xero-custom-url-form-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-form-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=e48e162c6d0248c4561208560462e6d2 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-form-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=d0ec808f6db6c0bac17c52f603553a77 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-form-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=38789dfd1899f6053b48a54540263846 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-form-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=1a685392092b51c0b5bda2985784a75e 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-form-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=c1a2a639f1331b09d8d2571774ee797f 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-custom-url-form-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=c375035564e4f5501eb4125098d0855c 2500w`}),`\n`,_jsx(_components.p,{children:`Paste this custom URL:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://capi.boomfi.xyz/v1/checkout/xero?invoiceId=[INVOICEID]\u0026currency=[CURRENCY]\u0026amount=[AMOUNTDUE]\u0026shortCode=[SHORTCODE]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`On the test dashboard, use `,_jsx(_components.code,{children:`https://capi-test.boomfi.xyz`}),` in place of `,_jsx(_components.code,{children:`https://capi.boomfi.xyz`}),`. A production URL does not see invoices on the test dashboard. Checkout there runs in test mode.`]}),`\n`,_jsxs(_components.p,{children:[`Xero replaces `,_jsx(_components.code,{children:`[INVOICEID]`}),`, `,_jsx(_components.code,{children:`[CURRENCY]`}),`, `,_jsx(_components.code,{children:`[AMOUNTDUE]`}),`, and `,_jsx(_components.code,{children:`[SHORTCODE]`}),` when the customer clicks. `,_jsx(_components.strong,{children:`Show details`}),` on that form uses `,_jsx(_components.code,{children:`[INVOICENUMBER]`}),` in its example. That placeholder is the invoice number. A URL built from it opens a page that cannot take the payment.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-url-placeholders-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=eb6f184a46567412e25d5b081b7a8491`,alt:`Placeholders Xero lists for a custom payment URL`,\"data-og-width\":`1630`,width:`1630`,\"data-og-height\":`1912`,height:`1912`,\"data-path\":`integrations/images/xero-url-placeholders-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-url-placeholders-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=9ea38a77b5c0cb577b72f214b627365c 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-url-placeholders-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=5779589644c772054374eb9ff1028c02 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-url-placeholders-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=471417e292f692b85076b24461e1757f 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-url-placeholders-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=d3a0febff4d3f949fd84f9361e5dcefb 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-url-placeholders-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=6cf8424b8d2b1ebe11a1f1fd98b93fde 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-url-placeholders-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=8116d2ba1f87620447ee0291db528f28 2500w`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`[INVOICEID]`}),`, not `,_jsx(_components.code,{children:`[INVOICENUMBER]`}),`. The click is accepted only when the invoice id, currency, amount due, and Xero short code all match the open invoice. Anything else sends the customer to a page that cannot take the payment.`]})}),`\n`,_jsxs(_components.p,{children:[`Save. To change the URL or the button later, open `,_jsx(_components.strong,{children:`Connected services`}),`, then `,_jsx(_components.strong,{children:`Edit → Service details`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`put-it-on-the-branding-theme`,children:`Put it on the branding theme`}),`\n`,_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Connected services → Manage themes`}),`. For each branding theme you send, set `,_jsx(_components.strong,{children:`Credit card`}),` to the account you just added. `,_jsx(_components.strong,{children:`Standard`}),` is the default theme. Save.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-connected-services-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=54502f73f57f18aecc1ed5a059854f6c`,alt:`Connected services, with the account on the Standard theme`,\"data-og-width\":`1630`,width:`1630`,\"data-og-height\":`1912`,height:`1912`,\"data-path\":`integrations/images/xero-connected-services-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-connected-services-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=56459eddf6d0bb8b00491e6edddda71c 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-connected-services-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=99d108c3ea674dd2ea9aee882c69d8c1 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-connected-services-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=fa115958cc13ae727bc2bc6168af454c 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-connected-services-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=09a14b2299692aee26c2a42a4f90db04 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-connected-services-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=5c7f8f9d24fe6de30518b86b98ba62be 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-connected-services-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=11b2fef2af1f4df40c4855a2e87677e3 2500w`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-payment-theme-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=f1c4a186fc27d8b1a2d34bafe743cdce`,alt:`Credit card set to the account on the Standard theme`,\"data-og-width\":`1630`,width:`1630`,\"data-og-height\":`1912`,height:`1912`,\"data-path\":`integrations/images/xero-payment-theme-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-payment-theme-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=77194eed6e8086b33094e01bdd6ccd80 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-payment-theme-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=5b35bf2557d06f90452f38be7a7de9ec 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-payment-theme-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=10b45cb8d2ed145f904ab279884e38a4 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-payment-theme-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=86f6ec1785a269cbbf37119d9f16bef6 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-payment-theme-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=dc6f7a8a7f2aa911ec6bafcedd87eda9 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-payment-theme-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=0b67826fe80a2f11a2b39c0674c3de06 2500w`}),`\n`,_jsxs(_components.p,{children:[`On the invoice, `,_jsx(_components.strong,{children:`Branding theme`}),` is the theme you chose and `,_jsx(_components.strong,{children:`Online payments`}),` shows that account name. A new invoice uses the default theme. To use another theme, change `,_jsx(_components.strong,{children:`Branding theme`}),` on that invoice. New themes are added from `,_jsx(_components.strong,{children:`Settings → Invoice settings → New Branding Theme`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`stripe-paypal-and-other-buttons`,children:`Stripe, PayPal, and other buttons`}),`\n`,_jsxs(_components.p,{children:[`A branding theme has one `,_jsx(_components.strong,{children:`Credit card`}),` service. `,_jsx(_components.strong,{children:`Cards and digital wallets`}),` (Stripe) uses that same column. To offer Stripe cards on some invoices and BoomFi on others, add a second branding theme, connect Stripe to its `,_jsx(_components.strong,{children:`Credit card`}),` column, and choose that theme on the invoice.`]}),`\n`,_jsxs(_components.p,{children:[`PayPal is its own service on `,_jsx(_components.strong,{children:`Add a new service`}),`. Once it is connected, it can sit on the same theme as BoomFi. The customer then chooses `,_jsx(_components.strong,{children:`Pay now`}),` or PayPal.`]}),`\n`,_jsx(_components.p,{children:`If the customer pays another way, the next sync sees the invoice paid and BoomFi turns its paylink off.`}),`\n`,_jsx(Heading,{level:`2`,id:`create-the-invoice`,children:`Create the invoice`}),`\n`,_jsx(_components.p,{children:`Create the invoice in Xero. BoomFi does not add a line to it.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Create a sales invoice with a contact, a currency, at least one line, and an amount due.`}),`\n`,_jsxs(_components.li,{children:[`Set `,_jsx(_components.strong,{children:`Branding theme`}),` to the theme whose `,_jsx(_components.strong,{children:`Credit card`}),` service is BoomFi. `,_jsx(_components.strong,{children:`Online payments`}),` then shows that account name.`]}),`\n`,_jsxs(_components.li,{children:[`Approve the invoice so its status is `,_jsx(_components.strong,{children:`Awaiting payment`}),`. Drafts and invoices submitted for approval are left alone. Bills are left alone. An invoice that is already paid does not get a paylink.`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-invoice-theme-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=f44f89153bdbdd96f1921755600983f6`,alt:`Sales invoice on the Standard theme, with online payments set to the account and a Workshop line`,\"data-og-width\":`1400`,width:`1400`,\"data-og-height\":`773`,height:`773`,\"data-path\":`integrations/images/xero-invoice-theme-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-invoice-theme-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=67a25d168334235e12266ac48d5748b3 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-invoice-theme-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=cb92b2daa79b42e0d2c37a8bf3283dfd 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-invoice-theme-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=0ba8780d44de9b859b581bcce3b681bc 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-invoice-theme-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=332bce5fa6f3f9a3ee5d28115c1b32e5 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-invoice-theme-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=78d356cbaa24ff9e566f771f28f7697d 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-invoice-theme-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=cc8865a5766fbc070856e90fb7f244e8 2500w`}),`\n`,_jsx(_components.p,{children:`Connecting imports open invoices once. After that, Xero notifies BoomFi when an invoice is created or approved. Open invoices are also checked about once an hour, in case a notification is missed.`}),`\n`,_jsxs(_components.p,{children:[`BoomFi creates the customer and a one-time paylink. The paylink is named `,_jsx(_components.code,{children:`Invoice`}),` plus the Xero invoice number, and the amount is the amount due. The Xero lines stay on the Xero invoice. They are not listed on the paylink or on checkout.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Checkout shows the invoice number and a single total. It does not show the Xero line descriptions, quantities, or unit prices.`})}),`\n`,_jsx(_components.p,{children:`An invoice with no contact, no currency, or no date is skipped. The rest of the sync continues, and the Xero card shows a warning.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-customer-sees`,children:`What the customer sees`}),`\n`,_jsxs(_components.p,{children:[`On the Xero invoice, the lines are the ones you wrote. `,_jsx(_components.strong,{children:`Pay now`}),` is the button from the branding theme.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-pay-now-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=61333f07fbd0fb600cc2beec1353f8f8`,alt:`Xero invoice with the Workshop line and Pay now`,\"data-og-width\":`1630`,width:`1630`,\"data-og-height\":`2008`,height:`2008`,\"data-path\":`integrations/images/xero-pay-now-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-pay-now-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=d84d4c846aae790a9c9faf196ce2b98a 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-pay-now-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=14de208f819d11de040ab9a26eae0c26 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-pay-now-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=9597ca277778ec54fba907eb60465885 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-pay-now-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=ec6560dcb34f2e1c6e3581ebce88714e 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-pay-now-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=05b1b550386a571df6f8894164486133 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-pay-now-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=3d07dad7ef1362402d3b0e2a88ef785f 2500w`}),`\n`,_jsxs(_components.p,{children:[`Choosing `,_jsx(_components.strong,{children:`Pay now`}),` sends the customer to BoomFi. BoomFi checks the invoice, the currency, and the amount still due, then opens the paylink. Checkout asks for the payer’s details and a payment method. The summary is the total only.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-checkout-boomfi.png?fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=eba3cd7c7b9b711af7e158fa9cdbadcd`,alt:`Checkout for that invoice, showing Invoice INV-0011 and a single total`,\"data-og-width\":`1630`,width:`1630`,\"data-og-height\":`2008`,height:`2008`,\"data-path\":`integrations/images/xero-checkout-boomfi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-checkout-boomfi.png?w=280\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=26b2f6ed7bec975c4cd5ddd0fa8b2486 280w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-checkout-boomfi.png?w=560\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=31f99f2fce5728fc89641158a33f9407 560w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-checkout-boomfi.png?w=840\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=4f2fe6963664ec7cac7cd66c5145b23a 840w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-checkout-boomfi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=9844efcf4d63f1897614e5a5dd28b0c0 1100w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-checkout-boomfi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=67db406622c6404a4a1798e7a5160696 1650w, https://mintcdn.com/boom-fi/pIqMNiRxjI-4g6Iz/integrations/images/xero-checkout-boomfi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pIqMNiRxjI-4g6Iz\u0026q=85\u0026s=0f807ad63bbf40dcd1fbe5e60e2cc91d 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`after-the-customer-pays`,children:`After the customer pays`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In BoomFi, open `,_jsx(_components.strong,{children:`Transactions`}),`. The payment status is `,_jsx(_components.strong,{children:`Succeeded`}),`, and the reference is the Xero invoice.`]}),`\n`,_jsxs(_components.li,{children:[`In Xero, that invoice is marked `,_jsx(_components.strong,{children:`Paid`}),` and the amount due is 0. The paylink in BoomFi becomes inactive.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`A short payment in the invoice currency is recorded in Xero as that amount. The invoice and the paylink stay open.`}),`\n`,_jsx(_components.p,{children:`A payment in another currency, including crypto, is recorded in Xero as the amount still due. The invoice is marked paid and the paylink is turned off.`}),`\n`,_jsx(_components.p,{children:`If the payment covers the amount due and Xero has no account that can take a payment, the paylink is turned off so the customer cannot pay it twice. The Xero card shows a warning. Add an account in Xero that can take invoice payments. The next sync records the payment.`}),`\n`,_jsx(_components.p,{children:`If an invoice that already has a paylink is voided or deleted in Xero, the next sync turns that paylink off.`}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/overview`,children:`Integrations Overview`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/payments/paylinks`,children:`Payment Links`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/webhooks/overview`,children:`Webhooks Overview`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Xero","description":"Collect open Xero sales invoices with a BoomFi paylink.","href":"/integrations/xero"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Connect Xero","slug":"connect-xero","depth":2,"children":[]},{"title":"Add Pay now","slug":"add-pay-now","depth":2,"children":[{"title":"Add the payment service","slug":"add-the-payment-service","depth":3,"children":[]},{"title":"Put it on the branding theme","slug":"put-it-on-the-branding-theme","depth":3,"children":[]}]},{"title":"Stripe, PayPal, and other buttons","slug":"stripe-paypal-and-other-buttons","depth":2,"children":[]},{"title":"Create the invoice","slug":"create-the-invoice","depth":2,"children":[]},{"title":"What the customer sees","slug":"what-the-customer-sees","depth":2,"children":[]},{"title":"After the customer pays","slug":"after-the-customer-pays","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"boom-fi","siteName":"BoomFi","title":"Xero - BoomFi","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T09:42:53.560Z","originalFileLocation":"integrations/xero.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Collect open Xero sales invoices with a BoomFi paylink.\">\u003cmeta data-mint-head name=\"application-name\" content=\"BoomFi\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Xero - BoomFi\">\u003cmeta data-mint-head property=\"og:description\" content=\"Collect open Xero sales invoices with a BoomFi paylink.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"BoomFi\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.boomfi.xyz/integrations/xero\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Xero - BoomFi\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Collect open Xero sales invoices with a BoomFi paylink.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/boom-fi/waJogTq0mCSqSidV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"BoomFi\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#242424\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.boomfi.xyz/integrations/xero\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/xero.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.boomfi.xyz/#organization\",\"name\":\"BoomFi\",\"url\":\"https://docs.boomfi.xyz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/boom-fi/U9Qjv5D7mWH8OHeQ/assets/logo.svg?fit=max\u0026auto=format\u0026n=U9Qjv5D7mWH8OHeQ\u0026q=85\u0026s=9f3a3b3a4a2d198c0c469c900f831e51\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.boomfi.xyz#website\",\"name\":\"BoomFi\",\"url\":\"https://docs.boomfi.xyz\",\"publisher\":{\"@id\":\"https://docs.boomfi.xyz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.boomfi.xyz/integrations/xero#webpage\",\"url\":\"https://docs.boomfi.xyz/integrations/xero\",\"name\":\"Xero\",\"description\":\"Collect open Xero sales invoices with a BoomFi paylink.\",\"dateModified\":\"2026-10-21T09:42:53.560Z\",\"isPartOf\":{\"@id\":\"https://docs.boomfi.xyz#website\"},\"breadcrumb\":{\"@id\":\"https://docs.boomfi.xyz/integrations/xero#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.boomfi.xyz/integrations/xero#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://docs.boomfi.xyz/integrations/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Xero\",\"item\":\"https://docs.boomfi.xyz/integrations/xero\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.boomfi.xyz/integrations/xero#article\",\"headline\":\"Xero\",\"name\":\"Xero\",\"description\":\"Collect open Xero sales invoices with a BoomFi paylink.\",\"url\":\"https://docs.boomfi.xyz/integrations/xero\",\"mainEntityOfPage\":{\"@id\":\"https://docs.boomfi.xyz/integrations/xero#webpage\"},\"dateModified\":\"2026-10-21T09:42:53.560Z\",\"publisher\":{\"@id\":\"https://docs.boomfi.xyz/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.boomfi.xyz#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BoomFi\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"BoomFi","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Create an Account","href":"/create-account"},{"title":"Authentication","href":"/authentication"},{"title":"Quickstart","href":"/quickstart"},{"title":"Choose Your Integration","href":"/choose-integration"}]},{"group":"Dashboard","pages":[{"title":"Merchant Dashboard Overview","href":"/dashboard/overview"},{"title":"Business Settings","href":"/dashboard/business"},{"title":"Team and Roles","href":"/dashboard/team"},{"title":"Payments Settings","href":"/dashboard/payments-settings"},{"title":"Transactions","href":"/dashboard/transactions"},{"title":"Customers","href":"/dashboard/customers"},{"title":"Customer Portal","href":"/dashboard/customer-portal"}]},{"group":"Settlement","pages":[{"title":"Settlement Overview","href":"/settlement/overview"},{"title":"Settlement Accounts","href":"/settlement/settlement-accounts"},{"title":"Virtual Accounts","href":"/settlement/virtual-accounts"}]},{"group":"Payments","pages":[{"title":"Payments Overview","href":"/payments/overview"},{"title":"Payment Links","href":"/payments/paylinks"},{"title":"Paylink Features","href":"/payments/paylink-features"},{"title":"Account-Specific Paylinks","href":"/payments/account-specific-paylinks"},{"title":"Checkout","href":"/payments/checkout"},{"title":"Connect","href":"/payments/connect"},{"title":"Subscriptions","href":"/payments/subscriptions"},{"title":"Cookbook: Sell a Product","href":"/payments/cookbook-sell-product"},{"title":"Cookbook: Recurring Billing","href":"/payments/cookbook-recurring"},{"title":"Cookbook: Offer Crypto as a PSP","href":"/payments/cookbook-psp-paylinks"}]},{"group":"Deposit Accounts","pages":[{"title":"Deposit Accounts Overview","href":"/deposits/overview"},{"title":"Create a Deposit Address","href":"/deposits/create-address"},{"title":"Cookbook: User Balance Deposits","href":"/deposits/cookbook-user-balance"}]},{"group":"External Account","pages":[{"title":"External Account Overview","href":"/whitelist-external-account/overview"},{"title":"Whitelist a Crypto Account","href":"/whitelist-external-account/whitelist-crypto-account"},{"title":"Whitelist a Fiat Bank Account","href":"/whitelist-external-account/whitelist-fiat-bank-account"}]},{"group":"Webhooks","pages":[{"title":"Webhooks Overview","href":"/webhooks/overview"},{"title":"Configure Webhooks","href":"/webhooks/setup"},{"title":"Verify Webhook Signatures","href":"/webhooks/verify-signatures"},{"title":"Event Types","href":"/webhooks/event-types"},{"title":"Event History and Replay","href":"/webhooks/event-history-and-replay"},{"title":"Webhook Best Practices","href":"/webhooks/best-practices"}]},{"group":"Payouts","pages":[{"title":"Payouts Overview","href":"/payouts/overview"},{"title":"Withdraw to Bank","href":"/payouts/withdraw-to-bank"}]},{"group":"Integrations","pages":[{"title":"Integrations Overview","href":"/integrations/overview"},{"title":"Stripe Billing","href":"/integrations/stripe-billing"},{"title":"Chargebee","href":"/integrations/chargebee"},{"title":"WooCommerce","href":"/integrations/woocommerce"},{"title":"WHMCS","description":"Offer crypto checkout in WHMCS with one-time and recurring pay links.","href":"/integrations/whmcs"},{"title":"Xero","href":"/integrations/xero"}]},{"group":"Pricing and Policies","pages":[{"title":"Pricing and Fees","description":"Processing fees for payment gateway, exchange, and related products.","href":"/pricing/fees-and-pricing"},{"title":"Networks and Currencies","href":"/pricing/networks-and-currencies"},{"title":"Account Verification and Limits","href":"/pricing/account-verification-limits"},{"title":"Unsupported Countries","href":"/pricing/unsupported-countries"},{"title":"Unsupported Business Activities","href":"/pricing/unsupported-business-activities"},{"title":"Service Level Agreement","href":"/pricing/service-level-agreement"},{"title":"Risk Summary Regarding Cryptoassets","href":"/pricing/risk-summary"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api/overview"}]}]},"title":"Xero - BoomFi","buildId":"dpl_CUnGQP1HgFUzoxatVC37y4zP83Vx","deploymentId":"dpl_CUnGQP1HgFUzoxatVC37y4zP83Vx","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DQ5W4Q2v.js","PlusIcon-jZ8vgk6R.js","lightbox-handle-r17bVUz3.js"]}