happytails.ai

Invoice aging calculator

Group unpaid invoice balances by overdue days as of a date you choose.

Your result

Report a problem or share an idea.

How to use Invoice aging calculator
  1. Choose Single scenario for guided fields, or Multiple records (JSON) for advanced inputs.
  2. Choose the currency label and decimal places, then set the as-of date.
  3. Review the report and download complete JSON or CSV.

Useful next steps

Enter values directly

Choose Single scenario to enter values in the fields. Choose Multiple records (JSON) to paste an advanced asset or record list. Guided numeric fields accept local decimal digits and separators without grouping; advanced JSON keeps strict ASCII syntax.

Use the right inputs

Provide a JSON array with unique id, dueDate, total and paid, plus optional customer. Choose an as-of date. Unpaid balances are grouped as not overdue, 1 to 30, 31 to 60, 61 to 90 or at least 91 days overdue. Due today is not overdue. Paid invoices remain in the report but not unpaid bucket totals. Supply payments known as of that date. Negative balances, credit notes and duplicate identifiers are rejected.

Keep the full record

Use JSON up to 1000000 characters, 50000 values and 64 nesting levels. Period, invoice and production lists allow up to 2000 records; annual schedules allow 1 to 1000 years. Amounts use plain ASCII decimals up to 1000000000000 and zero to six selected decimal places. Quoted decimal strings preserve exact input. JSON and CSV preserve the full report and source, with exports bounded to 40 million characters and 500000 CSV records. Analysis runs locally with a 10-second timeout. No data is uploaded. Preview tables show the first 200 rows; copy returns the summary. Reports preserve machine keys, source JSON and original content. CSV uses RFC 6901 JSON Pointer field paths and protects spreadsheet formula prefixes; import identifier columns as text.