All articles

Payments & Accounting

Processing Deposits in Xero

By Andrew Hemphill Β· 14 October 2025

If you collect deposits through Stripe, Puree handles almost everything for you β€” the customer clicks a link, pays, and you just reconcile the payout. That's covered in Reconciling a Stripe Deposit in Xero.

But plenty of caterers prefer to invoice their deposits directly through Xero. This article is for you. The workflow below keeps your deposits, invoices and prepayments clean in Xero, and it means the deposit you record in Puree lines up with the money in your accounts.

For a refresher on setting up and recording deposits inside Puree, see the Managing Deposits help guide.

Why This Approach

Once a quote is accepted and you link it to Xero, Puree creates a draft invoice in Xero for the full job. That invoice is your record of the whole order. A deposit, though, isn't income yet β€” it's money you're holding against work you haven't done. Keeping it separate from the full invoice lets you hold it as a liability, recognise the revenue only once the event is delivered, and keep the final invoice free to change right up until it's paid.

So the workflow is simple: leave Puree's full-value invoice untouched as a draft, raise a separate deposit invoice against a deposit liability account, and only bring the two together at the end when you allocate the deposit and approve the final invoice.

The Recommended Workflow

  1. Link the accepted quote to Xero. Once the customer accepts the quote, link it to Xero from Puree. This creates a draft invoice in Xero for the full value of the order, and that invoice stays in sync with any subsequent changes you make to the quote.
  2. Leave the linked invoice alone. Don't touch the invoice Puree created β€” leave it sitting as a draft. This is your final invoice-in-waiting, and you'll come back to it at the end.
  3. Duplicate it to create the deposit invoice. In Xero, duplicate the Puree-created invoice. On the copy, remove the line items and replace them with a single line for the deposit amount, then send this invoice to the customer to request the deposit. Think of this invoice as a request only β€” because you'll void it once the deposit is recorded as a prepayment (step 5), the account you code the line to doesn't affect your books. Until it's paid and voided, it also sits in Xero as an outstanding deposit, so you can see at a glance which deposits you're still waiting on.
  4. Repeat for any further deposits. If you request more than one deposit (for example a second progress payment), do the same again β€” duplicate, swap the line items for a single deposit line, and send.
  5. When the deposit is paid, record it as a Prepayment β€” and void the deposit invoice. When the money arrives, record it in Xero as a Prepayment against the customer, not as a payment on any invoice. During bank reconciliation, on the statement line choose Received as β†’ Direct Payment β†’ Prepayment (or use Receive Money β†’ Prepayment), coding it to your deposit liability account (talk to your accountant about this if you don't have one). This is the transaction that actually hits your books, so the account and tax treatment here are what matter. A prepayment sits as a credit on the customer's account, ready to allocate later. Because the money is now recorded as a prepayment, void the deposit invoice you raised in step 3 β€” it was only there to request the deposit, and leaving it would double up the amount. Voiding (rather than deleting) keeps the invoice number in your audit trail. Depending on where you operate, you may also need to account for sales tax (GST/VAT) on the deposit at the point it's received β€” seek your own accountant's advice on this. Finally, record the deposit as received in Puree (Actions β†’ Add Deposit Received) so both systems agree.
  6. At final payment, approve and allocate. When it's time for final payment β€” whether that's before the event or after the job is done β€” go back to the Puree-created invoice, mark it as Approved, and allocate any prepayments to it. Xero reduces the balance by the deposits already held, so the customer is only billed the remainder.

Allocate deposits only once the event details are finalised

As soon as you allocate a prepayment (or any payment) to an invoice in Xero, Xero locks that invoice β€” you can't change its line items or amounts until you remove the allocation. Because the invoice is then locked, further changes to the quote in Puree can no longer sync across to it, and Puree will warn you about this. So hold off on allocating the deposit to the final invoice until the order is completely settled. If something does change afterwards, you'll need to remove the payment allocation in Xero, let the invoice update, then re-allocate.

Contact name must match

For Xero to let you allocate a prepayment to the final invoice, the customer/contact name must be identical on both. If the names differ even slightly, Xero treats them as separate contacts and the prepayment won't be available to apply.

Keeping Puree and Xero in Step

The deposit you record in Puree is a note that helps you track what's been collected against a quote β€” it doesn't move any money. It also shows on the customer's view of the Puree quote, giving them reassurance that you've received their deposit. Xero is where the accounting actually happens. Recording the deposit in both places means your Puree quote shows the deposit as received (and the customer sees it), while your books stay correct. You can also hover over the Xero button on the quotes list in Puree to see any prepayments recorded against that contact in Xero.

Deposits don't change the quote total

Deposits are not deducted from the quote total in Puree. They're recorded as a note inside Puree to track what has been received β€” you manage the actual financial reconciliation of deposits outside of Puree, in Xero.

Need Help?

If any part of this is unclear, reach out to the Puree support team and we'll walk you through it.

Puree is catering management software, not an accounting service. The information in this article is provided as general guidance only and does not constitute accounting or financial advice. Please consult your accountant or bookkeeper for advice specific to your business.