Milestone Revenue Recognition in Xero for Biotech and Deeptech Licensing Deals
The Core Principle: Why Cash Is Not Yet Revenue
For a biotech or deeptech startup, landing a major licensing deal or a multi-stage grant is a huge win. The first payment arrives, and the cash feels like a direct measure of success. However, your accounting system, Xero, does not have a simple way to handle these complex agreements. Manually mapping these payments to revenue can lead to reporting errors that undermine investor trust, because the core challenge is that cash in the bank is not the same as revenue earned. Getting this wrong misrepresents your company's financial health at a critical stage. This guide provides a pragmatic, auditable process for how to track milestone payments in Xero correctly, ensuring your financial reporting is compliant and clear.
Before diving into the mechanics, it is essential to understand why you cannot simply book a large cash payment as revenue. The answer lies in the difference between cash-basis and accrual-basis accounting. For any startup seeking investment or adhering to formal standards like US Generally Accepted Accounting Principles (GAAP) or International Financial Reporting Standards (IFRS), accrual accounting is required. It operates on a crucial concept called the matching principle.
According to this principle, "Revenue is recognized when it is earned by meeting a performance obligation, not when cash arrives, according to the matching principle from GAAP/IFRS (ASC 606)." A performance obligation in a biotech licensing deal is the specific R&D outcome you promised to deliver, such as completing a preclinical study or a successful compound screening. Until you meet that obligation, any cash you receive is not yet earned.
Instead of appearing on your Profit and Loss (P&L) statement as revenue, the cash sits on your Balance Sheet as a liability. This account is typically called "Deferred Revenue" or "Unearned Revenue." It represents your legal obligation to your partner or grantor; you owe them either the completed work or the money back. This distinction is what makes tracking these deals difficult in standard software. Xero is built for straightforward invoicing, not for managing complex, non-time-based revenue schedules. The goal is not to find a hidden feature, but to use Xero's existing tools in a structured way that respects these fundamental accounting principles. This approach applies whether your company follows US GAAP or IFRS, as the core concepts are identical. For more details, you can see the official IFRS 15 text for the standard here: https://www.ifrs.org/content/dam/ifrs/publications/html-standards/english/2025/issued/ifrs15.html.
A Pragmatic Guide: How to Track Milestone Payments in Xero
For most Pre-Seed to Series B startups, the priority is a system that is correct, auditable, and works with the tools you already have. This four-step process creates a reliable method for managing milestone revenue. It is a manual-but-auditable system that combines Xero's functionality with disciplined external tracking.
- Configure Your Chart of Accounts
- First, you need a place for the cash to sit before it is recognized as revenue. In Xero, navigate to your Chart of Accounts and create a new account. Set it up as a "Current Liability" and name it something clear, like "Deferred Revenue - Licensing Deals" or "Unearned Grant Income." This account is critical because it keeps unearned cash off your P&L statement, preventing an overstatement of your company's performance.
- Invoice Against the Deferred Revenue Account
- When a collaboration agreement is signed and you are due a milestone payment, create an invoice in Xero for the full amount. Instead of coding the invoice line item to a sales or revenue account, you must code it directly to the new "Deferred Revenue" liability account you just created. When your partner pays the invoice, the cash is correctly reconciled. Your Balance Sheet will now show a cash increase and an equal increase in the Deferred Revenue liability. Your P&L remains untouched.
- Recognize Revenue with a Manual Journal EntryThis is the most important manual step. You execute this only when you have officially met the performance obligation outlined in your contract. To move the funds from the liability account to revenue, this is done using a Manual Journal Entry.In Xero, create a new manual journal with two lines:
- Debit: The "Deferred Revenue" account for the milestone amount. A debit reduces a liability, clearing your obligation from the balance sheet.
- Credit: Your chosen revenue account (e.g., "Licensing Revenue" or "Grant Revenue"). A credit increases a revenue account, placing the revenue onto your P&L in the correct period.
- Maintain a Master Milestone Tracker
- Xero can execute the accounting entries, but it cannot store the contractual context. For this, your spreadsheet is your best friend. Create a master tracker that lists every contract, each milestone, its value, the trigger for recognition, and columns for "Date Invoiced" and "Date Revenue Recognized." This spreadsheet is your audit trail. It connects the contractual obligations to the journal entries in your accounting system and answers the "why" behind each revenue entry. To integrate this, use Xero Files to attach the contract and tracker to the invoice or journal entry. You can find more on that feature here: https://www.xero.com/accounting-software/store-files/.
Biotech Grant Case Study
Consider a UK-based deeptech startup that secures a £200,000 grant for a two-stage research project. The first £100,000 is paid upon signing, and the final £100,000 is paid upon successful completion of the Stage 1 research.
- Invoice 1: An invoice for £100,000 is issued and coded to the "Unearned Grant Income" liability account. Once paid, the company's Balance Sheet shows £100,000 in cash and £100,000 in liabilities. The P&L shows no revenue.
- Milestone Achievement: Six months later, the team completes the Stage 1 research. The performance obligation is now met.
- Manual Journal: A journal is posted to Debit "Unearned Grant Income" by £100,000 and Credit "Grant Revenue" by £100,000. Now, the P&L for that period correctly reflects £100,000 in earned revenue, and the liability is removed from the Balance Sheet.
Common Pitfalls with the Manual Xero Workaround
While effective, this manual process has several potential failure points that founders should watch for. Awareness of these risks is the first step toward preventing them.
The most common error is recognizing revenue too early. Excitement about hitting a research target can lead to booking the revenue before the milestone is formally accepted by the partner, as stipulated in the contract. Always refer to the agreement's specific language on what constitutes completion. If formal sign-off is required, you must wait for it before posting the journal entry.
Another frequent mistake is using incorrect dates on the manual journal. Revenue must be recognized in the period it was earned, not when you get around to the bookkeeping. If a milestone was met on March 30th, the journal entry must be dated in March, even if you are posting it on April 5th. This ensures your quarterly and annual P&L statements are accurate, which is critical for investor reporting and tax filings.
Finally, it is surprisingly easy to forget to post the manual journal altogether. The cash is in the bank and the liability is on the balance sheet, but without the final journal entry, the revenue never makes it to the P&L. This understates your company's performance and can lead to a growing, unaudited liability balance. Regular reconciliation of your deferred revenue account against your milestone tracker is essential to catch these omissions.
Knowing When to Upgrade: Moving Beyond the Manual System
This manual-but-auditable system is highly effective for early-stage companies. However, it relies on manual triggers and perfect execution. The critical question becomes: how long can you sustain it?
The trigger for outgrowing a manual system is typically managing more than 5-10 active milestone contracts simultaneously.
A scenario we repeatedly see is that the process starts to break down as complexity grows. With each new agreement, the risk of human error, such as a missed or incorrect journal entry, increases significantly. The time spent by a founder or operations lead cross-referencing contracts and spreadsheets starts to outweigh the efficiency gains. At this point, the manual process becomes a bottleneck and a business risk.
Investor due diligence will become more demanding as you scale, and an easily auditable, automated system provides a higher level of assurance. This is the inflection point for investing in dedicated revenue recognition software that integrates with Xero or QuickBooks. These tools automate the creation of revenue schedules from invoices, generate the required journal entries, and provide detailed reporting. They effectively eliminate the risk of manual error and free up valuable team time to focus on growth, not just administration.
Key Takeaways for Founders
For biotech and deeptech founders managing their own finances, navigating milestone revenue in Xero does not have to be a source of compliance risk. By adopting a structured approach, you can build a system that is both accurate and auditable.
- Cash is Not Revenue: The most important principle is to separate cash receipt from revenue recognition. Always park cash from milestone payments in a "Deferred Revenue" liability account on your balance sheet until the work is complete.
- Use Manual Journals for Recognition: The Manual Journal Entry is the correct tool in Xero to move revenue from the Deferred Revenue liability account to your P&L. This should only be done once a contractual performance obligation is fully met.
- Your Spreadsheet is Your Audit Trail: A well-maintained external tracker is a necessary component of a robust manual system. It provides the narrative your Xero entries lack and links your accounting records directly to your contractual obligations.
- Plan for the Next Stage: This manual system is perfect for startups with a handful of complex contracts. Recognize its limits. Proactively plan to adopt more automated biotech licensing financial management tools when you approach the 5-10 active contract threshold. This demonstrates foresight to investors and prepares your company to scale efficiently.
Frequently Asked Questions
Q: Why can't I just book cash as revenue and reverse it later if needed?
A: Booking cash directly as revenue immediately overstates your company's performance on the P&L statement. This violates the core principles of accrual accounting (ASC 606 and IFRS 15), which require revenue to be recognized only when earned. Incorrect reporting can mislead investors and complicate audits, so it is crucial to use a deferred revenue liability account from the start.
Q: What is the difference between deferred revenue and a customer deposit?
A: While both are liabilities, they serve different functions. A customer deposit is typically a simple prepayment for a future product or service, often refundable. Deferred revenue is specifically linked to a contractual performance obligation that must be fulfilled to be earned. For complex biotech licensing deals, "Deferred Revenue" is the more accurate and appropriate accounting term.
Q: Does this Xero workaround apply to both grant and licensing revenue?
A: Yes, the process is identical for both. Whether the payment comes from a government grant or a corporate licensing partner, the accounting principle remains the same. The cash is unearned until a specific milestone or performance obligation is met. You would create separate revenue accounts (e.g., "Grant Revenue," "Licensing Revenue") but use the same deferred revenue liability workflow.
Q: Can I automate any part of this manual Xero workaround?
A: Within Xero itself, this process remains fundamentally manual because the trigger for recognition is an external event (completing research), not a date. However, you can set calendar reminders for milestone check-ins. True automation requires third-party revenue recognition software that integrates with Xero to manage schedules and post journals automatically, which is the logical next step as you scale.
Curious How We Support Startups Like Yours?


