Recued
Menu
← Back to recipes

Carry a balance forward

by recued-core v6 65 views

Use “Carry a balance forward” in Recued. Close a part-paid invoice and issue a new one for exactly what is left, with the VAT carried in proportion. The new invoice takes no items.

Complete workflow

Invoice Book 12 pinned recipes

Use Invoice Book in Recued for invoicing, receivables, getting paid, and freelance. It includes 18 built-in actions and 11 ready-to-run workflows. Actions that change data use Recued's approval controls.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Use “Carry a balance forward” in Recued. Close a part-paid invoice and issue a new one for exactly what is left, with the VAT carried in proportion. The new invoice takes no items.

pack:invoice-bookinvoicingreceivablesrecords
by recued-core pinned v6

Use “Issue an invoice” in Recued. Turn the entries you picked into an invoice: lines frozen at issue time, total computed once from minutes, and a balance that payments come off.

pack:invoice-bookinvoicingreceivablesrecords
by recued-core pinned v6

Use “Record a payment” in Recued. Take a payment off an invoice's balance. Part payments are supported; overpayment is refused rather than absorbed, and the invoice settles when the balance reaches zero.

pack:invoice-bookinvoicingreceivablespayments
by recued-core pinned v6

Use “Who owes you” in Recued. Every open invoice with what is outstanding, which are overdue, and the oldest one still unpaid.

pack:invoice-bookinvoicingreceivablesoverdue
by recued-core pinned v4

Use “What each client owes” in Recued. One line per client: what is outstanding, across how many invoices, and how long the oldest has been due.

pack:invoice-bookinvoicingrecordsaggregate
by recued-core pinned v2
Show all 12 recipes

Use “Add something billable” in Recued. Anything you can charge for that is not logged time — a fixed fee, materials, a call-out. A negative amount is a credit.

pack:invoice-bookinvoicingbillablerecords
by recued-core pinned v4

Use “Delete a pending item” in Recued. Remove something from the pending list. If it came from logged hours, you choose whether those hours go back on the unbilled list or get deleted with it.

pack:invoice-bookinvoicingbillablerecords
by recued-core pinned v6

Use “Pull hours into pending items” in Recued. Turn unbilled time entries into pending billable items, priced at a rate you give.

pack:invoice-bookinvoicingbillablebridge
by recued-core pinned v6

Use “What could go on an invoice” in Recued. Everything billable and not yet invoiced — hours you pulled across and fees you typed in — each with its id, so you can choose.

pack:invoice-bookinvoicingbillablerecords
by recued-core pinned v3

Use “One invoice” in Recued. Open one invoice from the list that names it, and read everything recorded about that invoice on one page.

pack:invoice-bookinvoicedetailnavigation
by recued-core pinned v1

Use “One billable item” in Recued. Open one billable item from the list that names it, and read everything recorded about that billable item on one page.

pack:invoice-bookbillable-itemdetailnavigation
by recued-core pinned v1
View pack details, dependencies, and permissions →

Carrying a balance forward

A client pays part of an invoice and you want the rest on a document of its own. This closes the original and issues a new invoice for exactly what is left.

⛔⛔ THE NEW INVOICE TAKES NO ITEMS, AND THAT IS THE WHOLE POINT. The balance carried forward already has VAT inside it. Add a fresh billable item alongside it and its tax compounds on tax you have already charged — the client is billed twice for the same VAT and the figure looks perfectly ordinary. New work goes on a new invoice; this document does one thing.

⛔ The VAT split is carried in PROPORTION, not recalculated. The remainder inherits the original's own net-to-VAT ratio, VAT is rounded once and the net is whatever is left, so the two always add to the total exactly. No rate is applied and none is inferred — the pack is dividing a number you already decided.

⚠ The original keeps its outstanding figure and stops being chased. Its status becomes carried_forward, which is what takes it out of list-open-invoices. Nothing is restated: it still says it was for 2,220, that 1,000 arrived, and that 1,220 went somewhere — and carried_to says where.

⚠ A settled invoice cannot be carried, and neither can one nothing has been paid against — that is not a carry-forward, it is just an invoice you have already issued.

⚠ It sends nothing. The client needs the new document; getting it to them is yours.

How it works 37 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (37 steps)
■ invoice_id trim
Trim whitespace from setting invoice id
■ new_ref trim
Trim whitespace from setting new ref
■ inputs_ok all
Check if all conditions are true
⚠ inputs_guard guard
Stop if inputs ok equals
◆ source recued-core.invoice-book.invoice.get
Get invoice on invoice book
■ found compare
Check if source record id has data
⚠ found_guard guard
Stop if found equals
■ is_open compare
Check if source record status equals open
⚠ open_guard guard
Stop if is open equals
■ paid_so_far math
Calculate: round({{step.source.record.amount_paid}} * 100) / 100
■ something_paid compare
Check if paid so far is greater than 0
⚠ paid_guard guard
Stop if something paid equals
■ remaining math
Calculate: round({{step.source.record.outstanding}} * 100) / 100
■ has_balance compare
Check if remaining is greater than 0
⚠ balance_guard guard
Stop if has balance equals
◆ ref_check recued-core.invoice-book.invoice.search
Search invoice on invoice book
■ ref_rows default
Apply default
■ ref_count count
Count items in ref rows
■ ref_taken compare
Check if ref count is greater than 0
⚠ ref_guard guard
Stop if ref taken equals
■ vat_share math
Calculate: round({{step.remaining}} * {{step.source.record.vat_amount}} / max({{step.source.record.total}}, 1) * 100) / 100
■ net_share math
Calculate: round(({{step.remaining}} - {{step.vat_share}}) * 100) / 100
■ total_text template
Generate text from a template
■ vat_text template
Generate text from a template
■ net_text template
Generate text from a template
■ zero template
Generate text from a template
■ line template
Generate text from a template
■ now_iso date_add
Add 0 seconds to
■ issued_local date_format
Format as a date
■ issued_on default
Apply default
■ due_iso date_add
Add setting payment terms days days to
■ due_local date_format
Format as a date
■ due_on default
Apply default
■ lines_json json_stringify
Apply json_stringify
◆ create recued-core.invoice-book.invoice.create
Create invoice on invoice book
◆ close_source recued-core.invoice-book.invoice.update
Update invoice on invoice book
■ card to_summary
Format results as a summary card
▼
Output
summary card
Settings 3 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

new ref setting = [object Object]
invoice id setting = [object Object]
payment terms days setting = 30

Uses (4 operations)

Pack operation Get invoice on invoice book recued-core.invoice-book.invoice.get
Pack operation Search invoice on invoice book recued-core.invoice-book.invoice.search
Pack operation Create invoice on invoice book recued-core.invoice-book.invoice.create
Pack operation Update invoice on invoice book recued-core.invoice-book.invoice.update

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Write Pack Invoice Book external change
Read: invoice.get · No approvalRead: invoice.search · No approvalWrite: invoice.create · No approvalWrite: invoice.update · No approval

About

Tags

pack:invoice-bookinvoicingreceivablesrecordsv2

Details

37 steps 3 configurable settings recipe_id: carry-forward-balance