Resources
Help & articles
Guides, how-tos and news for your catering business.
Reports & Integrations
Connect Puree to Xero so your quotes automatically create and update invoices without re-entering financial data.
Learn how to connect Puree with Xero accounting software to automatically create and update invoices.

QuickBooks uses a different mapping: you select a QuickBooks Service in Puree, and that service’s Income account determines where the revenue is recorded. Xero maps directly to your chart of accounts. See Connecting with QuickBooks for the connection steps, service setup and invoice settings.
When you link Puree with Xero, your quotes in Puree will automatically create invoices in Xero. If you update a quote, the corresponding Xero invoice is updated too. This saves you from manually re-entering financial data and keeps everything in sync.
To get started, go to Settings → Integrations and click Connect to Xero. This will open an authorisation page in Xero. You may need to log into Xero first. Select the organisation you want to connect to (if you have multiple), then click Allow Access.
Once authorised, you’ll be taken back to Puree and into the Xero settings page.
You need to link each Puree master category to an income account in Xero. The categories are: Menu, Beverages, Equipment, Miscellaneous, Staff, Delivery, Venue (if enabled) and Packages (if enabled). The dropdown options are pulled directly from your Xero chart of accounts.
Depending on how your Xero is set up, you might use the same account (e.g. “Sales”) for all categories, or you might have separate accounts for staff, delivery, etc. With Individual priced lines you can also give an item category its own account, using Set by category beside the master category. See How quotes appear as Xero invoices.
Set the default number of days before a Xero invoice is due. The invoice date is the date of the event or delivery in Puree, and the due date is calculated from that. For example, setting this to 7 means the invoice is due 7 days after the event. Common settings are 7 or 14 days.
Make sure the auto-sync option is enabled. This ensures that whenever you update a quote in Puree, the changes are automatically pushed to Xero.
You can customise the prefix used for invoice numbers in Xero. By default, it’s INV, so if your Puree quote is number 123, the Xero invoice number will be INV123. You can change the prefix to whatever you like, but the quote number will always follow it.
Once you’re connected to Xero, you’ll see an extra column on your Quotes list with a Link button for each quote. Clicking Link opens Link with Xero, where you connect the quote’s customer to a Xero contact.
The Xero Contact field starts on the contact the customer was last linked to, so a returning customer is a quick Save. A customer that has never been linked starts on a contact only when exactly one Xero contact has the same name (capitals and spaces at either end don’t matter). Otherwise the field is blank, showing Link to a Xero contact. Puree never picks the first contact in the list for you, and Save waits until you’ve chosen one.

If the customer isn’t in Xero yet, click Create new contact in Xero and Puree creates the contact from the customer’s details. Its email is the customer’s Invoice email if one is set, otherwise the main contact’s email. You can also search your existing Xero contacts in the dropdown.
Chef users can’t open Link with Xero or download invoice PDFs, as they can’t see quote prices.
Some customers want invoices sent to one address, such as a central accounts team, rather than to whoever placed the order. Add that address to the customer as their Invoice email: open the customer, click Edit, and fill in Invoice email under Payment terms. The customer page then shows Invoices to and the address.
Link with Xero has an Invoice Email row under the customer mapping:

When the two differ, a tick appears: Update this Xero contact’s email to the invoice email. Tick it and click Save, and once the invoice is linked Puree changes that Xero contact’s email address. Only the email address changes. The contact’s people and everything else on it stay as they are. If Xero refuses, the invoice is still linked, and Puree tells you why the email wasn’t changed.
The tick belongs to the contact it was shown for. If you pick a different contact, it clears, and Puree checks again for the new one.

Xero can’t copy someone in on one invoice. When you email an invoice from Xero, it goes to the contact’s email address and to every person on the contact who is ticked Include in emails. To copy the person who ordered on a customer’s invoices, add them to the contact in Xero as a person and tick Include in emails. They’ll then get every invoice and reminder for that contact.
We recommend linking quotes once they’ve been accepted, not while they’re still pending. Linking creates a draft invoice in Xero, so if a pending quote doesn’t go ahead, you’d have to go into Xero and delete the invoice manually. By waiting until the quote is accepted, you avoid unnecessary cleanup.
A good rhythm to get into: each time you receive a notification that a quote has been accepted, go to the quotes list and link it straight away. It only takes a moment, especially once Puree remembers the customer’s Xero contact.
A linked quote shows three things in the Xero column: a small chain-link icon, which reopens the Link with Xero window; the invoice’s status button, which opens the invoice in Xero (see Xero Status on the Quotes List below); and a download icon for the invoice PDF.
![]()
Open that window and Unlink from Xero sits at the bottom left. It asks you to confirm, and the quote then goes back to showing Link, as though it had never been sent.

Unlinking only forgets the connection on Puree’s side. The invoice stays in Xero exactly as it is. Nothing is deleted, voided or changed there.
So if the invoice should not exist, unlinking is only half the job — go into Xero and delete or void it yourself. If you only wanted to correct something on Puree’s side, leaving the invoice where it is may be exactly right.
Unlinking is the fix when:
Because the invoice is still sitting in Xero under the same invoice number, sending the quote again will not quietly create a second one. Xero recognises the number, and Puree tells you the invoice already exists. Save a second time and Puree updates that existing invoice instead of duplicating it.
If you would rather have a fresh invoice number, delete the invoice in Xero first, then send the quote again.
A quote that is part of a combined invoice shows the combined invoice’s status, and its chain-link icon opens the combined invoice instead. Unlinking there dissolves the combined invoice, so each quote in it can be invoiced on its own again. The same rule applies: the invoice itself stays in Xero.
When you link a quote, Puree creates the invoice in Xero as a draft. It does not send the invoice to your customer automatically — you need to go into Xero, review the draft, and then approve and email it yourself.
To find your draft invoices in Xero, go to Sales → Invoices and filter by Draft. From there, click into the invoice and use the Approve and Email button to send it.
Xero emails the invoice to the contact’s email address and to the contact’s people ticked Include in emails. To have invoices go to a customer’s accounts team, set their Invoice email in Puree and use the tick in Link with Xero to copy it to the Xero contact (see Invoice Email above).
The invoice date is automatically set to the date of the event or delivery in Puree. The due date is calculated from the invoice date using the default number of days you configured in your Xero settings (e.g. 7 or 14 days after).
You can override both the invoice date and the due date when linking a quote. These overrides only affect the Xero invoice — they don’t change any dates in Puree.
Note: If a quote was created before you connected to Xero, the due date may not auto-populate when you link it. In that case, simply enter the dates manually.
If your customer provides a purchase order number, enter it in the Customer reference field on the quote in Puree. This value is automatically passed through to the Reference field on the Xero invoice. Any updates to the customer reference in Puree will sync to Xero as well.
The Invoice detail setting on Xero Settings decides the shape of the invoice. Summarised by category gives one line per master category (Menu, Beverages, Equipment and so on), each with its total. Individual priced lines gives one line for each priced item, package, staff charge and venue reservation, named as the quote names them, so two lines of the same item with different options can be told apart.
The invoice also includes an introductory line with the customer’s name and a link back to the Puree quote, so the customer can click through to view the full quote online.
A package is its own line on the invoice. Xero allocation, on the package’s edit page, splits its price across Menu, Beverages, Staff, Equipment and a package account, and chooses the Xero income account for each share, so package revenue can show under the right headings in your Xero reporting. Until you set one, the whole package price goes to your Packages account (or Miscellaneous if that is not set).
What each line looks like, how Set by category and package shares choose their accounts, and a worked example are on How quotes appear as Xero invoices.
Xero allocation is switched on per account. Until it is turned on for yours, each package carries on posting as a single line to your Packages account. Please let us know if you’d like it switched on.
Changing a package’s split can affect invoices you have already sent. The allocation is read from the package each time a quote syncs, not frozen onto the quote at the time you sent it. So if you re-split a package that older quotes used, those quotes are re-coded to the new accounts the next time they sync. Changing the package doesn’t push anything by itself, and Xero won’t alter an invoice that has already been paid or voided, so reconciled work is safe. The case to watch is an invoice that is still open, for an event already past, on a quote somebody edits later. To change a package’s split for new work only, duplicate the package, re-split the copy, and use the copy on new quotes.
The quote’s Includes sales tax or Excludes sales tax choice sets the Xero invoice’s Amounts are treatment. This is saved on the quote; changing the account default does not change existing quotes.
With tax bands enabled, map each Puree band to its matching Xero tax rate in Settings → Tax. These tax mappings are separate from your chart-of-accounts mappings. Charges with different mapped tax rates can appear on separate invoice lines even within one category.
Xero calculates tax using the mapped rate. Check that its percentage matches the treatment intended in Puree, especially for reduced or 0% bands. Also check any Override all tax bands selection on the quote.
To correct the inclusive/exclusive setting, edit the quote’s Adjust quote tax section. Follow the invoice syncing and locking guidance below when updating an existing invoice. See Tax Rates.
Once a quote is linked, its button in the Xero column says where the invoice is in Xero:

Hover over the button to see the invoice number, the amount due and any prepayments the customer has in Xero. Combined invoices show the same statuses.
Puree updates the status when Xero lets it know the invoice has changed, and each time Puree sends the invoice, so it is usually current within moments. A regular full refresh from Xero catches anything missed.
A linked quote has a download icon beside its status button, titled Download Xero invoice PDF. Click it to download the invoice from Xero as a PDF, named after the invoice number, such as Invoice INV123.pdf. Combined invoices have the same icon, and so does the quote’s page, under its Actions menu.
![]()
The PDF comes from Xero when you click, so it always matches the invoice in Xero. If Xero can’t be reached, or the quote isn’t linked any more, Puree says so and nothing downloads.
The sync between Puree and Xero is one-way: Puree pushes updates to Xero, but changes made in Xero are not pulled back into Puree. If you edit an invoice directly in Xero, your changes will be overwritten the next time someone updates the quote in Puree.
Always make changes in Puree and let them sync through to Xero. This ensures both systems stay consistent.
Anytime you update a quote in Puree, the Xero invoice will be updated automatically. However, there is one exception: if a payment (partial, prepayment, or full) has been applied to the invoice in Xero, Xero locks that invoice and will not allow updates.
If this happens, Puree will show a warning when you try to edit the quote. You can still update the quote in Puree, but the changes won’t sync to Xero. To resolve this:
Tip: Avoid allocating prepayments or deposits to an invoice until the very last moment — ideally just before you send the final invoice. This keeps the invoice unlocked so any last-minute changes to the quote can still sync through.
Extras that land after the invoice has been paid, such as guests over the final number or extra staff hours, can be billed two ways.
Raise a separate invoice for the extras. Best when the payment is already reconciled or the period is closed. Do this in Xero: a quote in Puree only ever has one invoice.
Or update the one invoice. Best when the customer should end up with a single invoice for the whole event.
Combined invoices work the same way. See Combined Invoices.
Xero will not let a paid invoice change, so a quote you save while the invoice is still locked fails to sync. Once the payment is off, save the quote again, or click Retry on the failed row under Settings → Integration sync history. The invoice itself is never harmed by a failed sync.
A deposit receipt entered through Actions → Add deposit received is a Puree record of the amount and date received. It shows on the quote, but it does not create a Xero payment, prepayment or separate deposit invoice, and it does not reduce the sales value of the linked invoice.
Puree does not automate a separate deposit-invoice-and-void workflow. This guide does not prescribe duplicating an invoice, voiding it or allocating a prepayment as a universal solution. Those are accounting actions to agree with your bookkeeper for the actual transaction.
For the operational report, open Settings → Deposits held. Its filters and PDF/CSV exports use deposits recorded in Puree. The date filters use the order/event date and the balance column is quote total minus recorded deposits. It is not a reconciled Xero liability balance. See Managing Deposits for the report and order-level developer API fields.
See Processing Deposits in Xero for a concise explanation of the two records.