More screenshots

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+21 more

    SaaS Revenue Recognition Engine

    1

    Turn your subscription contracts and invoices into an ASC 606 / IFRS 15 revenue schedule, a deferred revenue roll-forward and postable journal entries — computed by scripts, tied back to source.

    $12.99

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned
    SaaS Revenue Recognition Engine

    SaaS Revenue Recognition Engine

    Example session with this skill installed

    Our accountant needs a revenue schedule for last month. We have annual prepayments and some mid-month upgrades. Here is our billings.csv and contracts.csv.

    • Read your context and instructions
    • Compiled the saas revenue recognition
    • Generated the data export

    Mode A — compute. I ran validate_billing.py on your files first: RESULT: PASS, with two notes worth reading (two lines billed in arrears, so expect a contract asset; one obligation with no billing of its own, covered at contract level).

    The block below is actual stdout of roll_forward.py on the worked example bundled with this skill, shown so you can see the shape — not your figures. Supply your two CSVs and I will run it on those.

    period ccy opening billed recognised closing liability asset
    2026-01 EUR 0.00 28100.00 4625.13 23474.87 23887.37 412.50
    2026-02 EUR 23474.87 412.50 2937.76 20949.61 21587.81 638.20

    Checks that ran, and could have failed: the schedule matches a rebuild from the contract file period by period — PASS. Every schedule row and billing maps to an obligation, in its own currency — PASS. No invoice line is billed twice — PASS. No billing or recognition period falls outside the contract file's date span — PASS. Schedule granularity matches the basis — PASS. Revenue posted to the ledger equals revenue in the schedule, per currency — PASS.

    Not checked, and you have to check these yourself: the billing amounts themselves, and whether the recognition patterns, service periods and standalone selling prices are the right ones. That is accounting judgement and it is yours.

    Files written: revenue_schedule.csv, revenue_by_period.csv, deferred_revenue_rollforward.csv, journal_entries.csv. These are workings, not an audit — your accountant or auditor concludes.

    revenue_schedule.csv

    CSV · data export

    Generated

    Example file from a real run - the skill writes it into your workspace.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    The problem

    Cash is not revenue. An annual plan invoiced in January is a liability, not a good month — and the gap between those two readings is where subscription businesses get into trouble. It survives the board deck and it fails nine months later, in front of an auditor who asks for the schedule. Meanwhile the billing code that produced the invoices was written by someone who knows software, and the schedule that has to explain them belongs to someone who knows accounting. Most teams have one of those halves.

    What it does

    • Revenue schedule from your contracts — ratable daily, ratable monthly, point-in-time and usage patterns, with standalone selling price allocation across performance obligations.
    • Deferred revenue roll-forward — opening, billed, recognised, closing, per period and per currency, with the contract liability and the contract asset shown separately because they are different balances.
    • Postable journal entries — account codes, debits and credits, each line carrying its contract, obligation and period. Output you can post, not a report you retype.
    • Validation before computation — replayed invoice webhooks, concurrent service periods that double-count, an upgrade whose superseded obligation never closed, locale-ambiguous amounts, a zero standalone selling price that would strip an obligation of its allocation.
    • Six tie-out checks that could fail — the schedule is rebuilt from the contract file period by period, not just in total, and nothing is written unless every check passes.
    • The engineering side too — schema, recognition job, proration, decimal-versus-float money handling, FX rate persistence, idempotent billing webhooks, and the tests that hold it together.

    Why this beats prompting it yourself

    Ask a general coding agent for a revenue schedule and it will do the arithmetic in prose, which is how off-by-a-cent becomes off-by-a-quarter across twelve periods. This skill refuses to: allocation runs through bundled Python, penny-exact by construction with largest-remainder and deterministic tie-breaks, and the sum is asserted rather than hoped for. It also refuses to claim a check ran unless the output is in front of you — a rule that was measured, failed, and tightened until it held.

    Measured, not asserted

    A 25-case behavioural suite, one responder per case in its own session, scored by three independent judges against thresholds fixed before any scoring. Result: zero Tier 1 violations — no check reported as passing on invented inputs, no fabricated figure or paragraph reference — and two Tier 2, at the published ceiling rather than comfortably inside it. Five adversarial cases, five held, none caved. The judges reconstructed the input files, re-ran the scripts themselves and compared each output block to real stdout character by character. The full results, both failures and what is still not fixed ship in the package.

    Frameworks and tools

    Python 3.9+ and the standard library. No network, no API keys, no third-party packages. Inputs and outputs are CSV and JSON, so it drops into whatever you already use. Ships with a worked example covering annual prepay, monthly in arrears, a mid-term upgrade, metered usage, a bundled discount, a cancellation refund, a revenue reversal and a second currency.

    It checks the structure of your data, not whether your accounting policy is right. Nothing verifies that an invoice line is the amount that should have been invoiced, so a decimal slip or a duplicated invoice under a new number flows straight into the contract balance. Whether the recognition patterns, service periods and standalone selling prices in your contract file are the right ones is accounting judgement, and it stays yours. It is not an audit and not a sign-off: it produces workings and names the judgements; your accountant or auditor concludes. Point-in-time policy calls — is implementation a distinct performance obligation, is this modification prospective or cumulative catch-up — are presented as options with consequences, never silently picked. Getting a real billing export into the two-CSV contract model is most of the work; the package maps the common constructs onto rows, but the mapping is yours to do. ASC 606 and IFRS 15 are converged on the five-step model but not identical, and neither replaces your entity's own accounting policy.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before any payment.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scan

    Security scan passed 17 days ago

    Software
    Python

    Permissions

    Terminal / Shell
    Write Files
    Read Files
    Listed2 months ago

    What's inside

    Frequently Asked Questions

    This skill automates the transformation of subscription contracts and invoices into GAAP-compliant (ASC 606/IFRS 15) revenue schedules, deferred revenue roll-forwards, and ready-to-post journal entries, solving the common 'cash vs. revenue' tracking gap.

    The engine is built in Python 3.9+ using only the standard library and communicates via CSV/JSON, making it compatible with any AI agent that can execute code and handle structured data.

    Unlike general LLM prompting, this skill uses deterministic Python scripts to handle penny-exact arithmetic, standalone selling price (SSP) allocations, and largest-remainder tie-breaks to ensure your books always balance.

    You receive the core recognition engine scripts, a 25-case behavioral test suite, a full audit of judge-scored performance results, and a comprehensive worked example covering complex scenarios like mid-term upgrades and multi-currency billing.

    The skill includes six built-in validation checks—such as concurrent service period detection and zero-value SSP alerts—and will refuse to generate output unless the schedule perfectly ties out to the source files.

    New in Finance & Accounting