Reconcile against Xero records
Well reads invoices and accounts from Xero and Stripe transactions, and reconciles each payment to its invoice inside Well before forwarding the matched document to Xero's email-in address.
Every Stripe charge collapses onto the right customer match inside Well; the resulting documents arrive at Xero as drafts with vendor, amount, and date pre-filled by Xero's own OCR.
The Stripe integration connects your payment infrastructure to Well via MCP, pulling charges, invoices, subscriptions, refunds, and payout data into your workspace automatically.
The Xero integration connects Well to your accounting platform for bidirectional data flow.
Stripe settles invoices through charges and payouts, and Xero holds the ledger those records belong in, but the two do not reconcile on their own.
Well reads transactions, invoices, and the companies behind them from Stripe and the invoices and accounts it reads back from Xero, reconciles each payment to its invoice inside Well, and forwards the resolved document to your Xero email-in address. Your books work from a matched payment and a verified account rather than a hand-reconciled Stripe export.
Well reads invoices and accounts from Xero and Stripe transactions, and reconciles each payment to its invoice inside Well before forwarding the matched document to Xero's email-in address.
Well resolves the company and people behind a Stripe record and attaches them to the forwarded document, so Xero carries a verified account.
Records resolving to the same company are treated as one business inside Well, so Xero does not carry the same account under two names.
The Stripe record Well reconciled stays linked to the Xero document, so each match traces back to the evidence it was built on.
Pulls from the Stripe events feed. Detects changes to customer name, billing address, or tax id. Forwarded to Xero's email-in via Hubdoc; Hubdoc extracts contact, dates, totals, and tax type into a draft bill.
Pulls from the Stripe events feed. Tracks new subscription records with cadence, amount, and customer. Forwarded to Xero's email-in via Hubdoc; Hubdoc extracts contact, dates, totals, and tax type into a draft bill.
Pulls from the Stripe events feed. Triggers on every payout batch with the underlying charges and fees. Forwarded to Xero's email-in via Hubdoc; Hubdoc extracts contact, dates, totals, and tax type into a draft bill.
Pulls from the Stripe events feed. Captures partial and full refunds with the originating charge id. Forwarded to Xero's email-in via Hubdoc; Hubdoc extracts contact, dates, totals, and tax type into a draft bill.
Pulls from the Stripe events feed. Pulls the paid invoice with its line items, customer, and applied tax. Forwarded to Xero's email-in via Hubdoc; Hubdoc extracts contact, dates, totals, and tax type into a draft bill.
Pulls from the Stripe events feed. Detects the bank arrival of a Stripe payout to anchor the deposit. Forwarded to Xero's email-in via Hubdoc; Hubdoc extracts contact, dates, totals, and tax type into a draft bill.
Pulls from the Stripe events feed. Detects renewal cycles and links the new invoice to the recurring contract. Forwarded to Xero's email-in via Hubdoc; Hubdoc extracts contact, dates, totals, and tax type into a draft bill.
Pulls from the Stripe events feed. Pulls new customer records with name, email, and tax id where set. Forwarded to Xero's email-in via Hubdoc; Hubdoc extracts contact, dates, totals, and tax type into a draft bill.
Pulls from the Stripe events feed. Captures successful card and bank charges with currency, fee, and customer reference. Forwarded to Xero's email-in via Hubdoc; Hubdoc extracts contact, dates, totals, and tax type into a draft bill.
5 fields flow from Stripe into Xero.
| Stripe field | Label | Xero field | Label | |
|---|---|---|---|---|
| charge.amount | Charge amount | Total | Amount | |
| charge.currency | Currency | CurrencyCode | Currency | |
| charge.created | Charge date | Date | Transaction date | |
| charge.description | Description | Reference | Reference | |
| charge.id | Charge id | BankTransactionID | Bank line id |
7 fields flow from Stripe into Xero.
| Stripe field | Label | Xero field | Label | |
|---|---|---|---|---|
| invoice.currency | Currency | CurrencyCode | Currency | |
| invoice.number | Invoice number | InvoiceNumber | Invoice number | |
| invoice.issue_date | Issue date | Date | Bill date | |
| invoice.due_date | Due date | DueDate | Due date | |
| invoice.tax | Tax total | TotalTax | Tax | |
| invoice.subtotal | Subtotal | SubTotal | Subtotal | |
| invoice.customer | Customer reference | Reference | Reference |
3 fields flow from Stripe into Xero.
| Stripe field | Label | Xero field | Label | |
|---|---|---|---|---|
| customer.name | Customer name | Name | Contact name | |
| customer.tax_id | Tax id | TaxNumber | Tax number | |
| customer.metadata.domain | Domain | Website | Website |
Click Connect with Stripe; Stripe's MCP server handles authorisation. Stripe's MCP server registers a read-scoped Well client through DCR; no credential paste, no shared secret.
Well discovers Stripe's charges, refunds, payouts, customers, disputes, and subscription events and the the Xero draft bills queue populated by Hubdoc. Match candidates are scored on counterparty name, amount, currency, and reference; you approve any that need a human eye and Well saves the rule for the next batch.
Click Connect with Xero; Well's OAuth proxy handles Xero authorisation through Dynamic Client Registration. Xero's MCP server registers a write-scoped Well client through DCR; no credential paste, no shared secret.
Well connects to Stripe through its MCP server, which issues short-lived access tokens via Dynamic Client Registration. Well never holds a long-lived Stripe secret; the server refreshes its own tokens on each session. Well's storage region is configured per workspace regardless of where Stripe and Xero host theirs.
Read Stripe records
Scoped to charges, refunds, payouts, customers, and related records. No access to anything else in your Stripe account.
Deliver documents to your Xero inbox
Well forwards the extracted document to your Xero email-in address; Xero reads draft bills via email-in, with contact, dates, totals, and related records from it and you review and post. No write credential to Xero is requested.
Modify or delete Stripe records
Not granted. Stripe is read-only on Well's side; the source of truth never moves.
Read other workspaces' data
Encryption keys are per-workspace; another tenant's records are inaccessible by design.
Link both tools to Well so Stripe payments reconcile against verified Xero records.
Other ways to connect Stripe or Xero through Well.

Stripe
See the Stripe connector

Xero
See the Xero connector


Stripe → Pennylane
Match every Stripe charge and payout inside Well, then forwa…


Stripe → Qonto
Reconcile Stripe payouts against Qonto bank deposits. Well d…


Gmail → Xero
Capture invoices from Gmail, extract data with AI, and push…

Bill.com
See the Bill.com connector

Melio
See the Melio connector

Freshbooks
See the Freshbooks connector