ScheduleXL

Excel add-in · Connected to Xero

Prepayments & deferred revenue
in Excel — automated

ScheduleXL imports Xero invoice lines, spreads amounts over time, prepares manual journals, and pushes them back to Xero — all from an Excel task pane.

Workflow

Four steps, one Excel file

ScheduleXL turns a multi-spreadsheet manual process into a guided workflow inside a single workbook.

1

Import

Pull approved bills or sales invoices from Xero. They appear as new rows in the Schedule sheet.

2

Configure

Set Type, Start/End dates, and spreading method in Excel. Monthly Grid updates automatically.

3

Prep

Generate reclassification and monthly recognition journal lines, written to Xero_Journals for review.

4

Push

Review the balance check, then push journals to Xero as Manual Journals. IDs are stamped back in Excel.

ScheduleXL Connect to Xero screen
Sign in

Connect to Xero

When you first open the add-in, sign in with Xero. A browser window opens for secure authorisation — return to Excel when finished.

1Open the ScheduleXL task pane from the ribbon
2Click Connect to Xero
3Sign in and choose your organisation in the browser
4Return to Excel — the header shows your connected company
ScheduleXL Import tab
Import tab

Pull invoices from Xero

Filter by date range, account code, contact, and tracking categories. Matching invoices are appended to the Schedule sheet as new rows.

1Choose Bills, Sales, or both
2Set filters — leave blank for all
3Click Import to Schedule — duplicates are skipped automatically
4Fill in Type, dates and spreading in Excel
ScheduleXL Review tab with Edit line, Remove, and End Schedule actions
Review tab

Inspect and manage schedule lines

Click any row on the Schedule sheet to see a working-period snapshot and line details. Use Edit line, Remove from Schedule, or End Schedule Now depending on status — then Create Monthly Schedule when the row is ready for its first amortisation grid.

1Click any row in the Schedule sheet — Review opens automatically
2Check the working-period snapshot (line total, per month, recognised, remaining)
3Use Edit line, Remove from Schedule, or End Schedule Now when shown
4For new rows, complete Type and dates in Excel, then Create Monthly Schedule
ScheduleXL Prep tab
Prep tab

Build journal lines for review

Prep builds journal lines from your Schedule and writes them to Xero_Journals. After Prepare monthly journals, the tab shows pending line count and a success confirmation.

1Prepare Reclass Journals — moves invoice amount from P&L to BS holding account
2Prepare monthly journals — builds recognition entries for the working period
3Confirm the success message and review all lines in Xero_Journals before pushing
ScheduleXL Push tab
Push tab

Post journals to Xero

See pending line count and balance check before pushing. After a successful push, journals post to Xero and Xero_Journals is cleared — IDs are logged on Posted_Journals.

1Confirm lines are balanced
2Review all lines in Xero_Journals sheet
3Click Push to Xero — already-pushed references are skipped
4Success message confirms journals posted and sheet cleared
ScheduleXL Settings tab
Settings tab

Manage your Xero connection

Connect or disconnect from Xero, refresh the workbook structure, and sync your chart of accounts to keep account code dropdowns up to date.

1Refresh Excel sheets — rebuilds all sheet structures after an upgrade
2Refresh chart of accounts — updates Account_Mappings and dropdown lists
Review tab

Managing schedule lines

After import and setup, most day-to-day changes happen from the Review tab when you select a row on the Schedule sheet.

ScheduleXL Edit line panel with end date and account changes

Edit line

When: Prepayment or Deferred Revenue row that is not Completed — including Locked lines after monthly journals have been posted.

1Select the schedule row and click Edit line in the Review tab
2Change end date, recognition account (P&L), or BS clearing account as needed
3Choose spread over remaining periods or a catch-up journal for the working period when the end date changes
4Review the journals preview, then Apply changes — lines are written to Xero_Journals
5Reclass journals may be added when accounts change; push them from the Push tab when ready
6Start date is locked once recognition journals exist on Posted_Journals
ScheduleXL Review tab with Remove from Schedule

Remove from Schedule

When: Status is New or Scheduled only, and no journals for that line have been posted to Xero yet.

1Select a draft row (New or Scheduled) with no posted journals
2Click Remove from Schedule and confirm in the dialog
3The row is deleted from the Schedule sheet and the Monthly Grid is updated
4Any pending journal lines for that invoice are removed from Xero_Journals
5Use this to drop an import mistake before locking or posting — it cannot be undone
ScheduleXL End Schedule Now on a locked schedule line

End Schedule Now

When: Shown when Remove is not available — typically a Locked line with recognition history. Not available for Completed lines.

1Select the line and click End Schedule Now
2If a remaining balance exists, choose clear against recognition account or an alternate P&L account
3Click Add Journal — a Schedule Exclude Clear entry is written to Xero_Journals
4Review the line in Xero_Journals, then push from the Push tab
5The row stays on the Schedule and Monthly Grid; Status becomes Completed after push
6If remaining is already zero, the line can be marked Completed without a journal

Installation

Install the Excel add-in

Download the manifest file then sideload it into Excel using the method for your version.

Use Demo Company only — do not connect a live Xero organisation during this proof of concept.
Excel on the web supports sideloading via the Upload My Add-in option in My Add-ins.
  1. Download manifest.xml
    Save manifest.xml to your computer.
  2. Open Excel on the web
    Go to office.com, open or create a workbook.
  3. Upload the manifest
    Go to Insert → Add-ins → My Add-ins → Upload My Add-in. Browse to manifest.xml and click Upload.
  4. Sign in with Xero
    The task pane opens automatically. Click Connect to Xero and authorise in the popup window that appears.
If pop-ups are blocked, allow pop-ups for office.com in your browser settings before clicking Connect to Xero.

Reference

Workbook sheets

The workbook has five sheets. The add-in reads from and writes to these directly — all your data stays in Excel.

Schedule

Master register

One row per prepayment or deferred revenue item. Import adds rows here. You fill in Type, Start/End dates, and Spreading method.

Editable — blue/yellow cells are yours to type in
Monthly Grid

Amortisation grid

Auto-calculated from Schedule. Shows the recognition amount for every item across every month. Read-only — do not edit directly.

Formula-driven — do not edit
Xero_Journals

Journal lines for review

Built by the Prep tab. One row per journal line. Review here before pushing. Status shows Pending → ✓ Pushed after posting.

Review before pushing
Posted_Journals

Audit log

Append-only log of every pushed journal. Xero Journal IDs are stored here. Used to prevent duplicate pushes on re-run.

Append-only — do not edit
Account_Mappings

Chart of accounts

Holds your Xero accounts. Populated via Settings → Refresh chart of accounts. Powers all account code dropdowns in the workbook.

Updated via Settings tab

Colour coding in Schedule

Matches the legend on row 3 of the Schedule sheet.

Blue text — your inputs
Black text — formula
Green text — cross-sheet link (e.g. Remaining)
Green fill — imported / add-in maintained columns
Yellow fill — Type, Start/End dates, Spreading, Recognition Account
Teal fill — Status column

FAQ

Common questions

No. Each invoice row on the Schedule sheet stores a hidden Invoice ID from Xero. On subsequent imports, the add-in checks for existing IDs and skips any already present. You can safely re-run Import after changing filters.

Reclass journals move the invoice amount from the original P&L account to the balance sheet holding account (e.g. Dr Prepayments / Cr Insurance). You only need these when the invoice in Xero was originally coded to the P&L rather than directly to the BS account.

Monthly journals are the ongoing recognition entries — they release a portion of the balance sheet amount to the P&L each period (e.g. Dr Insurance / Cr Prepayments). These are the ones you'll prepare and push every month.

No duplicate risk. After a successful push, the Xero Journal ID is written back into the Xero_Journals sheet and the row's status changes to ✓ Pushed. On any subsequent push run, already-pushed rows are automatically skipped. The Posted_Journals sheet provides a permanent audit log.

The ‹ / › arrows at the top of the task pane set the month that the Prep and Push tabs work against. When you click Prepare monthly journals, ScheduleXL generates recognition entries for that specific month. Change the period before prepping if you need to process journals for a different month — for example, if you're catching up on a prior period.

Go to the Settings tab and click Refresh chart of accounts. This fetches your current Xero chart of accounts and writes it to the Account_Mappings sheet. It only updates the account list — it does not add or remove Schedule rows.

You should start from the provided template, which has the correct sheet names and column structure the add-in expects. If you're upgrading from an older workbook, use Settings → Refresh Excel sheets to rebuild the sheet structures in place — your existing Schedule data is preserved.

Monthly — divides the total equally by the number of months in the schedule. Simplest option, best for subscriptions and fixed annual fees.

Daily — divides the total by the exact number of days in the schedule, then multiplies by the days in each calendar month. More accurate for leases and contracts where partial months matter.

Monthly Grid amounts are shown to 2 decimal places (currency cents).

Monthly spreading divides the total by the number of months in the schedule period. Daily spreading divides by total days and allocates pro-rata to each calendar month — so raw amounts can differ month to month.

Rounding uses distributed amortization: for each active month in order, the amount is round(cumulative raw through this month minus already allocated, 2). The extra cent is spread across months rather than dumped on the last month.

Example: $100 over 3 equal months becomes $33.33, $33.34, $33.33 — always summing to exactly $100. A $49 subscription over ~30 months shows as $1.63 per month on the grid.

The Monthly Grid is read-only. Regenerate amounts via Review → Create Monthly Schedule after changing dates, total, or spreading method.

All your schedule data, journal lines, and account mappings live entirely in the Excel workbook — nothing is stored on ScheduleXL servers. The only server-side state is your Xero OAuth token, which is held securely to broker API calls. No invoice data or journal content is retained after the session.

Use Excel cells for first-time setup: Type, Start/End dates, Spreading method, and accounts before Create Monthly Schedule.

Use Edit line after the row is scheduled or locked — especially when recognition has started. The add-in recalculates the Monthly Grid, may create reclass journals when accounts change, and can add an end-date adjustment (spread or catch-up) with a preview before anything is written to Xero_Journals. Direct cell edits on locked rows are blocked in Excel; Edit line is the supported path.

Remove from Schedule appears only when the row status is New or Scheduled and there are no posted journals for that line on Posted_Journals. It deletes the Schedule row, refreshes the Monthly Grid, and clears pending journals for that invoice. Once the line is locked or has posted recognition, use End Schedule Now instead of Remove.

Remove from Schedule deletes the row entirely — for draft lines with no Xero posting history.

End Schedule Now finishes a live schedule early: the row remains on the Schedule and Monthly Grid. If there is a remaining balance, you add a Schedule Exclude Clear journal to Xero_Journals, push it from the Push tab, and the status becomes Completed. If remaining is already zero, you can mark Completed without a journal.

Reclass Status explains why reclass or adjustment journals exist for that line — for example moving the original P&L allocation to the BS clearing account, a BS or recognition account change from Edit line, an end-date catch-up, or clearing the BS account when you end the schedule early. It is descriptive text only; journal deduplication still uses the hidden Reclass Reference column.

Ready to get started?

Download the manifest, sideload into Excel, then connect to Xero from the task pane.