Prepaid Expense Amortization Schedule Excel TemplateDaily-Rate Method, Contract Terminations & Power Query Ready (2025)
Let's be honest: most prepaid expense trackers break every month-end close. Partial months throw off the numbers. Terminated contracts keep amortising. The balance never matches the general ledger. If you are building a prepaid expense amortization schedule Excel tracker, here is why the daily-rate method wins and how to get a template that actually works.

ACA | FMVA® | 19 Years in Finance
What a Prepaid Amortisation Schedule Needs to Handle
A prepaid amortisation schedule sounds simple. You pay upfront. You expense a bit each month. But the reality of month-end close is messier than that. Every tracker must solve three problems.
🎯Why This Matters
Using straight-line amortisation on partial months can distort your P&L by 15 to 30 percent in the first and last months of a contract. Auditors notice. Your CFO notices. The daily-rate method fixes this permanently.
Partial months and the daily-rate method
A $12,000 insurance policy runs from 15 March 2025 to 14 March 2026. March has 31 days. The contract covers 17 days in March. February has 28 days. The contract covers all 28 days.
Straight-line amortisation divides $12,000 by 12 months and calls it $1,000 per month. That is wrong for March. It is wrong for February. It is wrong for any partial month or termination.
The daily-rate method calculates cost per day. Here is the formula:
March Amortisation = Daily Rate x Days in March
$32.88 x 17 = $558.96
February amortisation is 28 days times $32.88 = $920.64. This is how accounting systems calculate it. This is what auditors expect to see. For authoritative guidance on prepaid expense recognition under IFRS, see the IAS 1 Presentation of Financial Statements standard.
Contract terminations and refund logic
A contract terminates on 20 June. The tracker must stop amortising from that date. It must calculate the unamortised balance as a refund. It must not continue into July.
⚠️ The Free Template Trap
Most free templates have no termination logic at all. You end up with phantom expenses in months where nothing is owed. Your P&L is wrong. Your balance sheet is wrong. And you only find out during audit.
Running balances and GL mapping
Every row in the output must show opening balance, amortisation for the period, and closing balance. Every row must carry the GL code and GL name. This is how you reconcile to the general ledger. This is how you produce the journal entry without manual mapping.

Why Most Free Templates Fall Short
I have tested dozens of free prepaid expense trackers. They fall into the same traps every time.
- Fixed structure. Most use a 12-month grid. What if your contract is 15 months? What if it spans three calendar years? You hack extra columns or start a new sheet. The structure fights you.
- No termination logic. I have yet to find a free template that handles mid-contract terminations. You manually delete rows or overwrite formulas. Your audit trail disappears.
- No refund calculation. When a contract ends early, there is almost always a refund or credit note. Free templates do not calculate this. You work it out on the side and hope you remember to book it.
- No running balance. Most templates show only the monthly expense. The balance sheet impact is invisible. You cannot reconcile without rebuilding the schedule manually.
- Not Power Query compatible. The output is usually a matrix with months as columns. That structure is useless for Power Query. You cannot pivot it. You cannot feed it into a dashboard.
How the FinDataPro Prepaid Amortisation Engine Works
The FinDataPro Prepaid Amortisation Engine V3 is built specifically to solve the gaps above. It is a single Excel file with a VBA engine that generates the full amortisation schedule from a simple input table.
The Input Table
You fill in one row per contract. The columns are:
- Contract ID
- Vendor Name
- Description
- Prepaid Amount
- Start Date
- End Date
- GL Code
- GL Name
- Status (Active or Terminated)
- Termination Date (if applicable)
- Refund Mode (Automatic or Manual)
That is it. No formulas to write. No months to map out. The engine does the rest.
Running the Engine
Press Alt plus F8 and run the macro, or click the button on the sheet. The engine clears the Output table and rebuilds it from scratch.
Output: flat table, one row per contract per month
Columns: Period | Opening Balance | Amortisation | Closing Balance | GL Code | GL Name
This flat structure is exactly what Power Query expects. You load it straight into a pivot table or dashboard.
Termination and Refund Logic
When a contract status is set to Terminated, the engine reads the Termination Date. It calculates the days from Start Date to Termination Date. It amortises up to that date. The remaining unamortised balance is flagged as a refund.
💡Pro Tip
If Refund Mode is Automatic, the refund appears as a negative amortisation in the termination month. If Manual, the refund amount sits in a separate column for you to book manually. Choose the workflow that fits your close process.
GL Codes in the Output
Every output row carries the GL Code and GL Name from the input. This means you can pivot by GL Code to get the exact journal entry. No manual mapping. No VLOOKUPs. The output feeds directly into your journal upload template.

Setting Up the Template (Step-by-Step)
Step 1: Download and enable macros
Download the file from findatapro.app. When you open it, Excel will prompt you to enable macros. Click Enable Content. The file is an .xlsm workbook. It will not run without macros enabled.
Step 2: Enter contract data in the Input table
Go to the Input sheet. Enter your contracts one per row. Dates must be proper Excel dates, not text. Amounts must be numbers. The GL Code and GL Name should match your chart of accounts.
⚠️ Critical
Dates stored as text are the #1 reason the engine skips rows. The macro does not throw an error. It silently ignores the row. Your output will be missing contracts and your reconciliation will not balance.
Step 3: Run amortisation
Press Alt plus F8, select RunAmortisation, and click Run. Or click the Run Amortisation button on the sheet. The Output table will populate automatically.
Step 4: Clear and re-run when data changes
When you add new contracts, change dates, or terminate existing contracts, update the Input table and run the macro again. The engine always clears the Output table first and rebuilds it from the current input.
Step 5: Connect Power Query and build the Report table
Select the Output table. Go to Data, then Get Data, then From Table/Range. Power Query opens with your data loaded. From there, you can group by GL Code, summarise amortisation by month, or build a pivot table.
The Pro version includes a pre-built Report sheet and Dashboard sheet with the Power Query connections already configured. If you are new to Power Query, read my guide on how to install and use Power Query in Excel.
Free Version vs Pro Version
| Feature | Free | Pro ($29) |
|---|---|---|
| Prepayment limit | 5 | Unlimited |
| Daily-rate amortisation engine | Yes | Yes |
| Termination and refund handling | Yes | Yes |
| Running balances (open/close) | Yes | Yes |
| GL Code and GL Name columns | Yes | Yes |
| Power Query M code | Yes | Yes |
| Report sheet (grouped summary) | No | Yes |
| Dashboard sheet | No | Yes |
| Unlocked VBA source | No | Yes |
| Future updates included | No | Yes |
The free version is fully functional. Use it to test the engine with your first five contracts. When you hit the limit, upgrade to Pro on Gumroad for $29. No subscription. One payment, unlimited use, free future updates.

Common Mistakes That Break Prepaid Schedules
Even with a solid engine, these four mistakes will break your schedule.
🚨Common Pitfall
The #1 mistake? Dates stored as text. The engine skips the row silently. No error message. Your output is just missing contracts. Always verify dates are proper Excel date values before running the macro.
Dates stored as text
The engine skips rows where dates are stored as text. It does not throw an error. It just silently ignores the row. Your output will be missing contracts and your reconciliation will not balance. Always format dates as proper Excel date values before running the macro.
Status is Terminated but no Termination Date entered
The engine needs the Termination Date to know when to stop amortising. If you mark a contract as Terminated but leave the date blank, the engine does not know what to do. It may amortise to the original end date or skip the row. Always enter the Termination Date when you change the status.
Mixed currencies without normalising first
The engine does not convert currencies. If you have contracts in USD, AED, and EUR in the same table, the output will sum them as if they were the same currency. Normalise to your functional currency before entering amounts in the Input table.
Re-running without clearing the Output table first
The engine clears the Output table automatically before each run. But if you copy and paste the output elsewhere, or if you modify the output manually between runs, you can end up with duplicate or orphaned rows. Always work from a fresh run. If in doubt, run the macro again.
Frequently Asked Questions
What is a prepaid expense amortization schedule in Excel?▼
What is the difference between straight-line and daily-rate amortization?▼
How do I handle a contract that is terminated mid-period?▼
Can this template handle more than 100 prepayments?▼
Is this template compatible with older versions of Excel?▼
Do I need to know VBA to use this?▼
Conclusion
Most prepaid expense trackers fail because they use straight-line math on a daily-rate problem. The result is inaccurate figures, broken reconciliations, and extra work every close cycle. The daily-rate method is not complicated. It is just more precise. That precision saves hours at month-end and keeps auditors satisfied.
Next steps:
- Download the free version at findatapro.app
- Load your first five contracts into the Input table
- Run the engine and compare the output to your current tracker
When you need unlimited contracts, the Report sheet, and the Dashboard sheet, upgrade to Pro on Gumroad for $29. One payment. Unlimited use. Free updates.
If you want to see how Power Query transforms this output into automated reporting, read my guide on Excel Power Query for accounting processes. And if you are still managing prepaid expenses in a static table, my Ultimate Excel Prepaid Expenditure Template offers an alternative approach with multi-year forecasting and dynamic dashboards.

Prashant Panchal is a Chartered Accountant (ACA) and Financial Modelling & Valuation Analyst (FMVA®) with 19 years of experience in finance, FP&A, and financial modelling across the GCC region. He is the founder of FinDataPro.
