Cashcast

Know which invoices will be paid late, and when the money will arrive.

Demo mode. You are looking at real predictions made on IBM's public accounts receivable sample (100 business clients, 2012 to 2013). Pick a date, see what Cashcast would have told you that morning, then reveal what actually happened.

Unpaid invoices, riskiest first

Invoice Amount Due Chance of paying late Likely paid Suggested next step What happened

Cash expected from these invoices

Bars: expected amount per week. Whiskers: 80% range from 2,000 simulated payment schedules. Dots: what was actually paid.

How the numbers are made

  1. Cashcast reads your invoice history: client, issue date, due date, amount, paid date.
  2. For every invoice it computes what you knew on the day you sent it: how that client paid before, how many of their invoices were still open, the amount compared with their usual.
  3. TabPFN, an open tabular foundation model, learns from your paid invoices in one pass (no training loop) and returns a full distribution of days to payment for each open one.
  4. Code turns that distribution into a late-payment chance, a payment date range that accounts for how long the invoice has already been open, and a weekly cash forecast.

Does it work? A backtest on 2013

Do the ranges fit the client?

Is "60% chance" really 60%?

Replay check (the numbers shown above)

    Use it on your own invoices

    This page is static, so it cannot read your file. Run Cashcast on your laptop instead; it needs Python 3.10 or newer and works on a CPU.

    git clone https://github.com/StarKnightt/cashcast
    cd cashcast
    pip install -r requirements.txt
    python -m cashcast.serve      # opens http://localhost:8765

    Your CSV needs one row per invoice with the columns client, invoice_id, issued, due, amount, paid. Leave paid empty for invoices that are still open. Download a sample CSV.