Achekam

Ticket presales before the event date

Why ticket money received months before an event is not yet income, and how an organiser holds it in a liability with journals until the event month.

By Achekam · · 4 min read · For Events businesses in South Africa, Nigeria, Kenya

ticket presales deferred income journal

Early-bird tickets for a December festival go on sale in May. By the end of winter a good share of the house is sold, the bank balance looks healthy and the management accounts show months of excellent profit. Then December arrives, the stage, sound, security and artists all bill at once, and the event month shows a loss that makes no sense to anyone reading the figures.

Nothing went wrong with the festival. The books simply recorded the income months before the event that earned it. This article explains how to hold presale money as a liability in Achekam with journals, and release it when the event takes place.

Presales are not earned until the event

When someone buys a ticket in May, you have their money and they have your promise of a festival in December. If the festival is cancelled, most ticket terms mean the money goes back. Until the gates open, the presale is closer to a debt you owe the ticket holder than to income you have earned.

Accounting standards put it the same way. ACCA's article on IFRS 15 contract assets and contract liabilities explains the balances that arise when a customer pays before revenue is recognised. Ticket presales are a textbook example of a contract liability, and your accountant will expect to see them treated that way at year end even if your monthly figures ignore it.

The practical reason to deal with it monthly, rather than leaving it to year end, is that you make decisions on the monthly figures. A festival that looks profitable in August can still be heading for a loss.

Where ticket sales post today

Before you can move presales, you need to know where they land. That depends on how the ticket was sold:

How the ticket was soldWhere the income posts
At a tillRevenue (4000), with the payment to its own account, such as cash (1050) or card and QR (1060), and output VAT (2150)
On an invoice, for example to a company buying a blockProfessional Services Revenue (4100), with debtors and output VAT

Every till sale that reaches the server posts a balanced journal in the same step, and issuing an invoice posts it to debtors, sales and output VAT. In both cases the ticket lands in income on the day it is sold, which is exactly the problem.

If your tickets are sold by an outside ticketing platform, the income reaches your books when you record the platform's payouts, which deserves its own treatment with your accountant.

A journal moving presales to a liability

Your chart of accounts can be extended: add a liability account called something like "Ticket presales held". Then, at each month end before the event, post a manual journal:

  • Debit the revenue account the tickets posted to (4000 for till sales, 4100 for invoiced ones), for the ticket income of that month.
  • Credit "Ticket presales held" for the same amount.

Take the amount from the general ledger, which lists every posted line, filtered to the month and the revenue account, and keep a short schedule of how you got the figure. A journal that does not balance is refused, as is one dated in a closed month.

Leave the VAT where it posted unless your accountant tells you otherwise. When VAT is due on a presale is a separate question from when the income is earned, and it differs by country.

A worked example in words: in June, the till and invoices bring in ticket income for the December festival. At the end of June, a journal moves exactly that income from revenue to "Ticket presales held". June's income statement now shows no festival ticket income, and the balance sheet shows the presale as money held for ticket holders.

Releasing it in the event month

In the month the festival takes place, post the opposite journal for the whole balance on the presales account: debit "Ticket presales held", credit ticket revenue. The income now sits in the same month as the stage, the artists and the security, and the event's profit or loss reads the way it really happened.

A few cases to agree with your accountant beforehand:

  • Events across two months. A festival from the last weekend of one month into the next may need the release split.
  • Refunds. A ticket refunded before the event reduces the presale balance, not revenue of a later month.
  • Cancelled or postponed events. The money stays a liability until it is refunded or the new date arrives.

Management accounts show an income statement for the period you choose beside the period before, and a balance sheet at period end, both built from your own journals. After the release, run them for the event month and check that the presales account is back to nothing.

Closing months so nothing moves later

Once a month's presale journal is in, close the month. Months can be soft-closed, hard-closed and locked, and a closed month refuses postings from every source, so a late till sale or a corrected invoice cannot quietly change the figures you have already reported. Before closing, the screen checks that the ledger balances and that no posting suggestions, unposted bills or unmatched bank lines are waiting. Reopening a hard-closed month needs a second approver.

If you find a mistake in a journal after posting it, reverse it and post it again correctly. A posted journal is corrected only by a reversal, which keeps the trail of what changed and when.

Set up the liability account now, before the next on-sale date, and add the presale journal to your month-end checklist. For why the till itself needs full payment for each ticket, see ticket deposits and the till, and for reading each event's result once costs and income sit in the same month, see seeing the profit on each event.

General guidance only, not advice on your own circumstances. Tax and payroll rules change: check the current position with the authority or your adviser.

Related articles

More on Events

See how Achekam handles it with your own records: create your account