More screenshots

    Works with the AI tools you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIGitHub CopilotGitHub CopilotGemini CLIGemini CLI+17 more

    Deferred Revenue Tie-Out Check

    1

    Free check for a deferred revenue schedule that does not tie out — names every place your revenue schedule stops agreeing with your contracts, before your accountant or auditor does.

    Free

    0 installsSecurity scanned

    See it in action

    You say

    Our deferred revenue balance looks wrong and the auditor is asking for the schedule. Here is revenue_schedule.csv and contracts.csv — where does it stop tying out?

    Your agent does

    I ran check_schedule.py on the two files. The block below is its actual stdout, abridged — six of twelve findings shown.

    Deferred revenue tie-out check — assets/example/schedule.csv obligations in schedule: 6 checked against: assets/example/contracts.csv

    FINDINGS (12) [DOES_NOT_TIE] C-2001/L1: schedule sums to 11999.96, contract says 12000.00 — out by -0.04. [REFUND_NOT_REVERSED] C-2004/L1: the contract line is negative (-900.00) but the schedule recognises 900.00. [RECOGNISED_AFTER_CANCELLATION] C-2003/L1: 2 row(s) recognise revenue after the cancellation month (2026-04). [PERIOD_GAP] C-2002/L1: no schedule row between 2026-04 and 2026-07. [ORPHAN_SCHEDULE] C-2007/L1: scheduled 1500.00 but this obligation is not in the contract file. [SUB_CENT_AMOUNT] schedule row 29: 400.005 has more than two decimal places.

    Reading those in your terms: the four cents on C-2001 is a rounding remainder nobody allocated — annoying, immaterial, fixed once. C-2004 is the one to look at today: a credit note went through as income rather than reversing revenue, so both revenue and the liability are overstated by 900.00. C-2003 is still recognising on a cancelled contract.

    The tool then prints what it did not check: whether the amounts themselves are right, and whether the recognition pattern is the correct one for each contract. Those are accounting judgements and they stay yours. This is a spotter, not an audit — your accountant concludes.

    About this skill

    The problem

    Somebody looks at the deferred revenue balance and says it looks wrong. It usually is, and the reason is almost never exotic: a rounding remainder nobody allocated, a credit note recognised as income instead of reversing revenue, three months recognised on a contract that was cancelled in April, a schedule row for a contract that does not exist. Each one is small. Together they are why a close takes a week and an auditor asks for workings you do not have.

    What it does

    You give it the revenue schedule you already have — one CSV: contract, period, amount — and, if you have it, the contract file to tie back to. It runs a Python script over both and names what does not hold together.

    • Does not tie — an obligation's schedule does not sum back to its contract amount, and by how much.
    • Refund not reversed — the contract line is negative but the schedule still recognises income.
    • Recognised before the term starts, after it ends, or after a cancellation.
    • Orphan revenue and never-scheduled contracts — revenue with no contract behind it, and contracts with no revenue in front of them.
    • Gaps, duplicated periods and currency drift inside a single obligation.
    • Sub-cent amounts — what a float artefact looks like by the time it reaches a ledger.
    • Input it refuses to guess at — 1,200.50 is rejected rather than interpreted, because the same glyphs mean a thousand-fold different number in another locale.

    Where it stops, on purpose

    It finds the problem. It does not invent the answer. No schedule is built here, no journal entries, no roll-forward, no standalone selling price allocation, no proration for a mid-term upgrade. If the answer to a finding is "so what should it be?", that is a rebuild — the schedule has to be regenerated from the contract terms and tied back period by period, not patched row by row, or next month drifts again. The skill says so rather than improvising an engine in prose.

    It is equally plain about a clean run: no findings means the checks above did not fire on the file you supplied. It does not mean the schedule is right, and the tool prints that in those words every time it finds nothing, alongside a list of what it did not check.

    Frameworks and tools

    Python 3.9+ and the standard library. No network, no API keys, no third-party packages. Ships with a deliberately broken worked example — six contracts, twelve findings — so you can see the output before pointing it at your own books. A spotter, not an audit, and not accounting advice: the judgements and the sign-off stay with your accountant.

    How to install

    Drop the file into your AI Agent. Works with Claude, Cursor, ChatGPT, and 20+ more.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Free forever

    No account required to browse

    Trust & safety

    Security scanned

    Verified clean today

    • Free to download with an account

    Listedtoday

    Frequently Asked Questions

    Free