> ## Documentation Index
> Fetch the complete documentation index at: https://learn.breezing.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Xero

> Connect Breezing to Xero to sync journal entries, update existing journals, assign tracking categories, and close invoices.

Breezing integrates directly with Xero. Crypto accounting integration doesn't have to be complicated.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/d-mkZ-nJtjg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

### How to Connect Xero

1. Navigate to **Chart of Accounts** on the left menu.
2. Click **Link accounts**.
3. Select **Xero**. You will be redirected to the Xero login screen.
4. Enter your Xero email and password.
5. Select the Xero organization you want to connect to this specific Breezing company.
6. Once connected and redirected back, make sure to click **Sync Chart of Accounts** on the Xero integration card. This pulls your entire Xero chart of accounts into Breezing.

*Note: If you ever change or add an account in Xero later, you must come back here and click **Sync Chart of Accounts** again to refresh the list.*

***

### Syncing Journal Entries to Xero

With a single click, Breezing pushes your mapped transactions to Xero as draft or approved manual journals, ensuring your general ledger reflects all crypto activity accurately.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/hoh_3Ox1qA4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

**Syncing a Single Transaction:**

1. From the dashboard, label/categorize a transaction (e.g., set the label to "Legal" or add a custom description like "Dev Work").
2. Click on the transaction to open its details.
3. At the top, you'll see a **Sync to Xero** button (the last sync will say "Never").
4. Choose whether to sync just the Fee/Loss or the **Full Journal**.
5. Click **Sync**. A link to the journal entry will appear. You can click it to open the exact journal entry directly inside Xero!

**Bulk Syncing:**

1. On your Dashboard, check the boxes next to multiple categorized transactions.
2. Click the **Manage** dropdown menu at the top of the list.
3. Select **Sync to Xero**.
4. All selected transactions will be pushed simultaneously.

***

### Instantly Updating Journal Entries

One of Breezing's most powerful features is the ability to instantly update a journal entry that has *already* been synced to Xero, without having to delete the journal in Xero first.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/hrLIF5EloPc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

If you accidentally booked a transaction to "Legal" but meant to book it to "Accounting", or if you recalculated your gains and losses and the cost basis numbers shifted:

1. **Do not delete the journal in Xero.**
2. Make the change directly in Breezing (e.g., change the account label to "Accounting", or rerun the Gain/Loss calculation).
3. Click the **Sync** button on the transaction again (or use the Bulk Sync feature for multiple).
4. Breezing will automatically find the existing journal entry in Xero and overwrite it with the updated numbers and categorization!

<Accordion title="Video Transcript">
  all right cool so this is one of the best things about breezing actually it's USB really um is to update Journal entri that have already been synced in zero so I just kind of take an example right here let's say this one right here it's been labeled as legal expenses I'm going to ahead and click the journal button so I'm going to view it over here the link here's a journal it's been booked to Legal expenses but let's say I changed my mind and I actually didn't want to book this legal I wanted to book this into accounting so I'll go ahead and hit accounting I'll save it and then I'll resync the journal now now this is the exact same Journal it's in legal expenses basically now if I just refresh the page it's now been added to Consulting so this goes the same thing as well so let's say I changed my mind and I want to and I you know I didn't have my cost bases correctly I want to recalculate gains and losses so let's say I decide to change my method I'm like actually I didn't want to use f weighted average I wanted to use H fifo let's say I recalculate with fifo recalculate all my gains and losses basically and then I'm going to go back to that exact transaction that I had earlier one second so now that transaction that I had put in legal earlier I got to find it somewhere oh it's right here it's in accounting now that is now the journal entry so if you click over here I'll just show you to you the weighted the gains and losses was 2537 because it was on weighted average if you remember so now if I go down I see the gains and losses is now 26 so it's slightly different than 2537 now how do I update that journal I don't delete the journal never ever delete the journal in zero just go ahead and just save it and you can resn it and when you do that let's go back to the journal itself you refresh there's the update so um this is one of the key USBS the key USBS in breezing that kind of no other Subler can do so far you can also do it in bulk so you can select all and just resync them all and it'll update every single Journal so again hit manage sync journal and it updates everything all at the same time for you so yeah that's one of the key USBS I hope you like it works the exact same way in QuickBooks by the way if you want to kind of update the QuickBook journal the exact same way cool
</Accordion>

***

### Adding Xero Tracking Categories (Cost Centers)

If your organization uses Xero Tracking Categories to allocate costs to specific departments or regions (e.g., Marketing - New York vs. Ops - US), you can assign them directly in Breezing before syncing.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/OBrNT1VsZe8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

1. Open the transaction details in Breezing.
2. Click the **Get Tracking Categories** button. This pulls your live Cost Centers from Xero.
3. A dropdown will appear containing your categories (e.g., `Marketing New York`, `Ops US`).
4. Select the appropriate tracking category and click **Save**.
5. When you sync this journal, the tracking category will automatically be applied to the entry in Xero.
6. *Note: Just like regular accounts, if you choose the wrong cost center, simply change it in Breezing and click Sync again to instantly update the Xero journal!*

<Accordion title="Video Transcript">
  all right so now what you want to do is you want to look at maybe assigning cost centers to specific transactions in reeing before you sync them so this is kind of an interesting little feature we're kind of the only one that has that so I'm going to go maybe to one of these transactions over here I'm going to hit get tracking categories this is from zero so I want to B to get the cost stand from zero hit get tracking categories I'll see it over here I got some so here are all my tracking quiries I'm going to click on this marketing New York one I'll hit save go ahead and hit save basically and then go ahead and view the journal like that cck there and then here I see it's added pretty much the tracking category so if I decid to change the track and Cory actually it wasn't New York it was probably Ops um us I'm going say change it to Ops us resync the journal and it is right now marketing New York go ahead and just sync it again and it'll update basically to Ops us basically so yeah that's kind of how it works that's kind of how the track and category mechanism works let me know if you have any questions
</Accordion>

***

### Closing Xero Invoices & Bills Directly

Instead of using a messy clearing account to reconcile crypto payments against fiat bills in Xero, Breezing lets you close Xero invoices directly against on-chain transactions.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/Q094p6mlr0A" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

1. Ensure you have an open Bill or Invoice in Xero (e.g., a \$1,000 USD bill).
2. In Breezing, find the outbound crypto transaction that was used to pay that bill (e.g., an outbound transfer of 1,000 USDC).
3. Click into the transaction details.
4. Click the **Get Invoices** button. Breezing will query Xero for all open payables/receivables.
5. Select the corresponding Xero Invoice from the dropdown list.
6. Enter the amount being paid. *(Note: If your Xero account base currency is CHF but the invoice is USD, enter the exact USD invoice amount. Breezing will handle the conversion math).*
7. Click **Submit Payment**.
8. The payment is instantly posted to Xero, marking the bill as Paid from your crypto asset account!
9. **Final Step:** Because the principal amount was closed against the invoice, you still need to account for the blockchain network fee and any realized gain/loss. Click **Sync** and select **Fee & Gain/Loss only** to push the remaining journal lines to Xero.

<Accordion title="Video Transcript">
  All right, cool guys. So, in this video, I'm going to show you how to close a bill in zero from Breezing. Um, and the way it works is like this. I have a bill here. It's called Rafa. I'll click on it. This bill is for a,000 USD. So, imagine it's for in USDC or USDT. Let's say it's in stable coins. So, it's a crypto invoice that's in zero. And now, you want to close it, right? Usually, you would use a clearing account to do that. But with Breezing, you don't even have to do that. You can just close it from Breezing. I'll show you how it's done. So, I'm going to go into Breezing. I'm going to find let's say yep go to breezing. I'm going to find basically the transaction that I want to close it with for like a th00and USDT. Let me just try and find it first. Go to treasury. See if I can find one here. So I got this transaction here. I'm going to use to close it. I'm going to click it open. I'm going to hit get invoices. What it's going to do is it's going to find all the open payables and receivables. Sorry, all the open payables. It's outbound transaction. And it's going to basically pull them into breezing. I'm going to click this. I'm going to see, oh, here's that invoice. It's for a,000. This was the ra invoice if you remember, right over here for a,000 USDC. I'm going to go ahead and select it. And then I'm going to go ahead and submit. So, I'm going to go ahead and put actually a,000 basically here. So, the amount you saw earlier was the CHF equivalent of a,000. My breezing account is in CHF and my zero accounts in CHF. So, I need to kind of like add in the corresponding USD amount here. But don't worry, it'll post it correctly from a conversion perspective in a second. I'll hit submit payment and then it will appear down over here. So the invoice was paid. You see it right over here. I'm going to go ahead and click that one and it'll open up the payment. So that's the payment that was made. It's made against a USDT account. So this is an asset account pretty much. So this is my USDT. It's an asset account. The payment can be made from either a bank account or an asset account. Either one works. But the payment gets posted and it also gets posted in the CHF equivalent basically. And then finally, what you got to do though is because it was because it's an asset account, you now need to post also the fee and the gains and losses associated transaction. And the way you do that is you just click sync and you just sync the fee and the gain or loss alone. Give it one second. And there you go. So that one's kind of also been synced. And then pretty much now you kind of have closed the bill. You sync the gain and loss. Um, and you're kind of all set to go. Thanks.
</Accordion>

***

### Paying Without an Invoice (Bank Transactions)

The **Submit payment on Xero** button in the transaction view is not limited to closing invoices. On an outbound transaction with no invoice selected, Breezing asks whether to create a standalone bank transaction instead:

1. Open the outbound transaction and click **Submit payment on Xero** without selecting an invoice.
2. A dialog titled "No invoice selected" explains that this creates a standalone spend money bank transaction in Xero rather than applying a payment to an invoice. Click **Create bank transaction** to confirm.
3. Breezing creates the bank transaction in your mapped Xero bank account, with the amount, fee, and any realized gain/loss carried as separate lines and a Breezing reference for traceability.

If a payment is larger than the invoice it settles, Breezing detects the overpayment and offers to sync the difference as a realized gain or loss; click **Record Gain/Loss** to accept. Payments require an outbound transaction and a Xero account of type bank.

### Finding & Deleting Duplicate Journals

If a sync was retried at the wrong moment, Xero can end up with two journals for the same transaction. The duplicate scan finds and removes them:

1. Navigate to **Chart of Accounts** and find the Xero integration card.
2. Click **Find Duplicate Journals**.
3. In the "Find & delete duplicate journals" panel, scope the scan: journal status (**DRAFT** or **POSTED**), a date range, a modified-since date, and optionally a page range for very large Xero organisations.
4. Click **Start scan**. The scan runs as a background task.

Breezing identifies duplicates by the Breezing transaction reference embedded in each journal, keeps one journal per transaction, and voids the extra copies in Xero. As the panel notes, run the scan again if duplicates were found, until a pass comes back clean.

### Attaching Evidence to Xero Journals

Files attached to a transaction in Breezing can be pushed onto the matching Xero journal with one click, so your evidence lives in both systems. See [Transaction Attachments](/features/transaction-attachments) for the full flow.
