# Turn a signed deal into a collection schedule

> Confirm a deal's schedule from a deposit, milestones, a retainer or your own lines, release each line as a receivable on its day, and change the deal later without rewriting what was invoiced or paid.

A services business signs a deal, such as a 30% deposit and 70% on delivery, a monthly retainer or three milestones, and then has to work out when to invoice each part and chase it. In Vestiarion a deal holds that schedule. You confirm it once; each line becomes a receivable when it is time to invoice it, linked back to the deal; and a change after signing is a new version that never rewrites what was already invoiced or paid. It works the same in a workspace on Arc testnet and on Arc mainnet.

## Before you start

- **A workspace you can add receivables to**, as an owner or admin. Every member reads deals; anyone else sees "Only an owner or admin of this workspace can release, change or cancel a deal."
- **The customer**, as a client in **Counterparties**, or typed as a new customer on the form: it is added as a client and screened as every counterparty is. A new customer with the name of a client you already have is that client.
- **The deal is set up on your deployment.** Until it is, **Deals** says "Deals are not set up on this deployment yet." and everything else on **Bills & receivables** works as before.

## 1. Confirm a deal

Open **Bills & receivables**, choose **New**, then **Deal**: **New deal** opens beside the page. **Deals** sits on the **Receivables** tab, under the receivables.

- **Customer**, and **Deal**: what the deal is called, such as Website rebuild. Each receivable's memo starts with it.
- **Total** and **Currency**: USDC or EURC, which are paid on Arc. In shadow mode the form also offers your business's own currency; each line is then taken at its USDC amount at the day's rate when it is released, as a bill in that currency is.
- **Start date**: no line is invoiced before it.
- **Terms (days)**: the payment terms. Each line is due this many days after its invoice day. It starts at 14.
- **External reference**, optional: your CRM's id for the deal, for instance. Two deals of a workspace never share one.

A deal won in HubSpot, Pipedrive or Zoho CRM does not need typing: with one of them connected, it is listed under **Deals** on the **Receivables** tab with **Plan collections**, which opens this form filled in from it, with the deal's id there as its reference (`pipedrive-` or `zohocrm-` and the id, for a deal from Pipedrive or Zoho CRM). A deal changed there after you planned it says **Changed in HubSpot**, **Changed in Pipedrive** or **Changed in Zoho CRM** on its page. See [Bring deals in from HubSpot](https://www.vestiarion.xyz/docs/guides/hubspot), [Bring deals in from Pipedrive](https://www.vestiarion.xyz/docs/guides/pipedrive) and [Bring deals in from Zoho CRM](https://www.vestiarion.xyz/docs/guides/zohocrm).

Then choose **How it is billed**:

- **Deposit and balance**: **Deposit (%)** on the start date, up to two decimals, and the rest on the **Delivery date**, as **Deposit (30%)** and **Balance on delivery**.
- **Equal milestones**: 2 to 24 equal parts, each with its invoice day and an optional name.
- **Monthly retainer**: the total in equal months, on a **Day of the month**. The first month is the first such day on or after the start date. "31 is each month's last day when it is shorter.", so 31 is Feb 28 (or 29) and Apr 30.
- **Custom lines**: each line with its own name, invoice day and amount.

**Schedule** reads the lines back as you type: each line's invoice day, due day and amount. The lines always add up to the total exactly. When a total does not split evenly, each line takes its share rounded down and the last line takes the rest, and says so, such as "Includes 0.01 from rounding". A currency with no cents, such as the yen, is split in whole units.

To change a line, choose **Edit lines**: every name, day and amount can then be edited, and **Add a line** adds one. Lines that do not add up are refused with what is missing, such as "The lines add up to 9,000.00 USDC; the deal is 10,000.00 USDC: 1,000.00 USDC short." **Back to the template** drops your edits.

![The New deal form on Bills and receivables. Customer Acme Studio, Deal Website rebuild, Total 10,000.01 USDC, Start date Oct 12, 2026, payment terms 14 days. How it is billed: Deposit and balance chosen, with Deposit 30% and Delivery date Dec 1, 2026. The schedule reads back two lines: Deposit (30%), invoiced Oct 12, 2026 and due Oct 26, 2026, 3,000.00 USDC; Balance on delivery, invoiced Dec 1, 2026 and due Dec 15, 2026, 7,000.01 USDC, which includes 0.01 from rounding. Below, Release each line on its invoice day, and Confirm deal.](https://www.vestiarion.xyz/docs/guides/deals-new.png)

*A 30% deposit and the balance on delivery: the balance carries the cent the split leaves, and says so.*

Tick **Release each line on its invoice day** to let the agent invoice each line on its day (see step 2). Then choose **Confirm deal**. The deal is signed as version 1, with every line planned, and its page opens. Pressing **Confirm deal** twice, or again after a slow answer, makes one deal, not two. A form already sent and then filled in for another deal, as the browser's back button can bring one back, is refused rather than taken for the first deal: the page reloads, and you confirm again.

## 2. Release each line

A line not released yet is a plan, not an invoice: no client sees it, no reminder is sent, and no figure counts it as money expected. Releasing it makes it a receivable, through the same path as a receivable you type in, with the same signed entry, linked to the deal and its line.

- **Release now** on the deal's page releases a line, on its invoice day or before it.
- With **Release each line on its invoice day** on, the agent releases each line whose invoice day has come, at its first cycle that day. An owner or admin turns it on or off on the deal's page; **Stop releasing on invoice days** turns it off. Each switch is signed with who set it.

The receivable is then like any other on the **Receivables** tab: open its card for its pay link and reminders, in a live workspace. Its row names the deal and the line, such as "Deal · Website rebuild · Balance on delivery", and **Open the deal** goes back to it.

If a release is interrupted before its receivable is made, the line says **Receivable not made** and offers **Release again**. A line is never made into two receivables.

## 3. Read the deal

**Deals** lists each deal with its total, what was **Released**, **Paid**, is **Outstanding** and is **Planned**, and its next line. A deal whose lines are all paid says **Paid in full**.

**Paid** is what arrived on Arc, confirmed by Circle and applied to the deal's invoices: a part payment counts as what arrived, and a fee a person marked settles an invoice without counting as paid. **Outstanding** is what is invoiced and not paid yet. These are the same figures written to HubSpot or Pipedrive as Collected and Still owed.

The deal's page shows the same figures, then its **Schedule**: each line with its state, **Planned**, **Released**, **Overdue**, **Paid**, or **Credit owed**. Lines a later version replaced or cancelled are folded under **Replaced and cancelled lines**. **Versions** lists every version, newest first, with its total, the difference from the one before, its reason and what it changed.

![A deal's Schedule. Deposit (30%), invoiced Oct 12, 2026, due Oct 26, 2026, 3,000.00 USDC, Paid. Balance on delivery, invoiced Dec 1, 2026, due Dec 15, 2026, 7,000.01 USDC, including 0.01 from rounding, Planned, which the agent releases on Dec 1, 2026, with Release now. Price change, 2,000.00 USDC, Planned, also with Release now. Under the table, a note that a released line is a receivable and money expected, never cash, and that a line not released yet is counted in no balance.](https://www.vestiarion.xyz/docs/guides/deals-schedule.png)

*The deposit was paid; the balance and the price change wait for their day.*

## 4. Change a deal after signing

Prices change, a milestone moves, a deal is stopped or picked up again. Each is a new version, and none rewrites a line already released: its receivable, paid or not, stays as it is.

Open **Change deal** on the deal's page. **Lines not invoiced yet** lists the lines you can change; released lines are not in it.

- **A new price.** Type the new total and choose **Propose a correction**. A higher price adds a **Price change** line for the difference, on the last planned line's invoice day, or today when none is left. A lower price takes the difference off the planned lines, from the last invoiced; what the released lines already exceed becomes **Credit for price change**, a credit owed to the customer, which is never invoiced and never counted as money.
- **A moved, renamed or changed line.** Edit its invoice day, name or amount. The version replaces it with a new line, and the old one is kept under **Replaced and cancelled lines**.
- **A line added or removed.** **Add a line**, or remove one.

Under the lines, the version is worked out as you type: the old and new totals, the difference, and each change in words. "Lines already released, and their receivables, stay as they are." Choose **Save as version 2** (or the next number). A change to a released line is refused: "A released line stays as it is. Change the lines not invoiced yet, or add a correcting line." If someone changed or released a line since you opened the page, the change is refused and the page shows the deal as it is now.

**Cancel deal** asks first, then stops every line not invoiced yet. The receivables already made stay, and nothing more is invoiced from the deal. **Reopen deal**, on a cancelled deal, takes the lines still to invoice and a new total, as a new version. A credit still owed to the customer starts in the form and stays with the deal unless you remove it.

![Change deal after the deposit was paid. New total 12,000.01 USDC, with a reason. Lines not invoiced yet: Balance on delivery, Dec 1, 2026, 7,000.01, and a proposed Price change line, Dec 1, 2026, 2,000.00. Under them: Version 2, 10,000.01 USDC to 12,000.01 USDC, difference plus 2,000.00 USDC; it adds Price change, 2,000.00 USDC, invoiced Dec 1, 2026; lines already released, and their receivables, stay as they are. Save as version 2.](https://www.vestiarion.xyz/docs/guides/deals-change.png)

*A higher price adds a correcting line: the paid deposit is not in the form, and the version says so.*

![A deal's Versions, newest first. Version 2, Changed, Oct 30, 2026: total 12,000.01 USDC, difference plus 2,000.00 USDC, reason Extra landing page agreed on Oct 30, adds Price change, 2,000.00 USDC, invoiced Dec 1, 2026. Version 1, Signed, Oct 12, 2026: total 10,000.01 USDC.](https://www.vestiarion.xyz/docs/guides/deals-versions.png)

*Every version with what it changed: each one is a signed entry in the audit log.*

## 5. Plan its costs and see when it needs cash

A deal can bring in more than it costs and still need money before the customer pays: a contractor paid in the first week, a vendor's deposit, a licence bought up front. Enter what the deal will cost, and its page says the first day it would be short, and by how much.

Under **Costs** on the deal's page, open **Add a cost**:

- **What it is**, such as Contractor: design, and **Who it is for**: one of your vendors or contractors, or **Nobody named yet**.
- **Amount**, in the deal's currency, and **Expected to leave on**: the day you expect to pay it.
- **No document yet** when no bill or quote backs it. It is counted all the same, and named as such.

Choose **Add cost**. Pressing it twice adds one cost. A cost is never edited: **Remove** takes it out of every figure and keeps it, with who removed it, under **Removed costs**; enter it again with the right amount.

When the bill for a cost arrives, or you add the contractor's milestone, choose it under the cost and **Link**. From then on the bill or milestone counts in the plan's place, at its own amount and on its own day: a bill to pay on its due day or the day it is scheduled for, a paid one as paid out. A bill or milestone backs one cost of one deal, so its money is counted once. A bill rejected, or a milestone closed unpaid, leaves the plan standing again, and the cost says so.

**Cash readiness**, above the schedule, puts it together:

- **Collected to date** and **Paid out to date**: money that moved, each with what it is made of. Collected is the deal's **Paid**: a line the customer paid part of counts what arrived as collected and only what is still owed as expected, once, and a line marked received without a payment on Arc is not counted, and the view says so.
- Day by day from today, each day money is planned or expected to move: the schedule's lines on their due days, planned until they are invoiced and expected until they are paid (an overdue one counts today), and the costs on their days. Each move names its line or cost, its state and its day, with the position after the day.
- **Short by 1,240.00 USDC on Oct 20, 2026** when the position first goes below zero, with how that day's figure is made and the deepest gap. **No cash gap** when it never does. **Not enough data** while no cost is entered.
- **Estimated margin**: the deal's total less every cost counted, as an amount and a percent. With no cost entered it says **Not enough data**, never 100%.

Nothing here is cash until it is collected: a planned line is planned, a receivable not paid is expected, and no line is weighted by how likely it is. Treasury, the payment plan and the agent's checks count none of it.

**Try a different deposit**, on a deal with a deposit not invoiced yet, moves its invoice day (its due day follows by the payment terms) or sets another **Deposit (%)**, the difference coming off the lines not invoiced yet, from the last. The view then shows the gap with the try and without it, such as "With this try: no cash gap. Now: short by 1,240.00 USDC on Oct 20, 2026." Nothing is saved. To keep it, change the deal as in step 4, which saves a new version; **Back to the deal** drops the try.

Under **Deals** on the **Receivables** tab, each deal carries one badge for this: "Short 1,240.00 USDC on Oct 20, 2026", **No cash gap**, or **No costs entered**.

## Where deals show in your cash

- **A released line not paid yet** is a receivable: **Next 30 days** on **Treasury** and **What if clients pay late?** count it as money expected on its due day, never as cash, as any receivable. A line a client paid part of counts for what is still owed, once: what arrived is in the wallet already. See [Apply money received to invoices](https://www.vestiarion.xyz/docs/guides/apply-payments). **Safe to spend today** and the agent's checks still count no receivable.
- **A line not released yet** is planned. **Next 30 days** names what the lines due in the next 30 days come to, apart; **What if clients pay late?** names them under what the figure is built from; neither counts them in any balance.
- **The payment plan** on **Bills & receivables** lists, under **Money expected in**, the receivables due in its 14 days, a part-paid one for what is still owed, and the deal lines planned for them, apart from its balances.
- **A deal's costs** count on its own page only. A bill a cost is linked to is a bill like any other on **Treasury** and in the payment plan, and on the deal's page it counts in the cost's place, once.

## Show the customer what it owes

A [statement link](https://www.vestiarion.xyz/docs/guides/customer-portal) shows a customer every receivable released from its deals, with what is still owed on each and its pay link, and lets it say it paid, promise a day or dispute a line's invoice.

## Pay a partner on what a deal brings in

A sales partner or referrer can earn a commission on the money customers pay for your deals, held for a window and paid as a bill the agent decides. **Commissions** is under **Deals** on the **Receivables** tab. See [Pay commissions on money received](https://www.vestiarion.xyz/docs/guides/commissions).

## What is signed

Each version is a signed entry in the workspace's ledger, which the audit log shows and webhooks deliver: `deal_signed` for version 1, `deal_revised` for a change or a reopen, `deal_cancelled` for a cancel, and `deal_auto_release_changed` for the switch. Each cost is one too: `deal_cost_added`, `deal_cost_removed` and `deal_cost_linked`, which names the bill or milestone it became. A deal planned from HubSpot, and a change saved from what HubSpot changed, say `via: "hubspot"` with the deal's ids in HubSpot; one from Pipedrive says `via: "pipedrive"` with its ids in Pipedrive. Each release is the receivable's own `create_invoice` entry, which names the deal and the line, and says whether a person or the agent released it.
