Prerequisites
Before you price an obligation, confirm the following. DualEntry counts invoice periods from the billing fields on the contract, so a missing end date or frequency makes the live total preview wrong even when quantity and unit price are correct.- Revenue recognition is enabled for your organization.
- You can create or edit a contract under Accounting > Revenue Recognition > Contracts.
- You know the commercial term: the total you expect to invoice, or the quantity and unit price for one invoice period.
- You have set billing frequency, billing interval, and the obligation dates.
- You know whether the line is flat-rate (straight-line, daily pro-rata, immediate, or milestone) or usage-based.
Choose Total amount or Unit price
The Pricing section on a flat-rate obligation shows two tabs when the line is editable: Total amount and Unit price. Choose the tab that matches the commercial document you are entering from. Use Total amount when the signed schedule gives you the full obligation value and you do not want to divide that value by the invoice count yourself. A $12,000 annual subscription and a $40,000 implementation fee both belong here. DualEntry stores the term total on the obligation header without multiplying it by invoice periods a second time. Use Unit price when the commercial terms are a quantity and a price for each invoice, such as 10 seats at $100 per month. The form keeps Quantity per period, Unit price per period, and SSP per period, and it previews total contract value (TCV) as you type. This is the same meaning the public API uses forquantity and rate.
Pick the tab before you activate the contract. You can switch tabs while the obligation is still editable, including on a change order. Switching tabs doesn’t convert the number you typed. Amount and Unit price per period share one field, so recheck the header after you switch.
The obligation header and the contract subtotal always add the same amounts the headers show. If one obligation is in Total amount and another is in Unit price, DualEntry still sums those header amounts into one contract total.
Enter a total obligation amount
Use Total amount when you want the header to equal the figure on the commercial contract.- Go to Accounting > Revenue Recognition > Contracts and create a contract, or open a draft.
- On the Performance Obligations step, add a flat-rate item. If the billing frequency isn’t right yet, choose Change billing frequency to set it on the Invoicing step.
- Under Pricing, choose Total amount.
- Enter Amount as the full obligation value you expect to invoice over the term.
- Enter SSP as the standalone selling price of the whole obligation, not a per-period price.
- Confirm the obligation header equals the amount you typed. DualEntry does not multiply that amount by the invoice count.
- Continue through the Invoicing, Recognition, and Preview steps, then save.
Enter quantity and unit price per invoice period
Use Unit price when you want to type the seats, licenses, or units that appear on each invoice.- Go to Accounting > Revenue Recognition > Contracts and create a contract, or open a draft.
- On the Performance Obligations step, add a flat-rate item. If the billing frequency isn’t right yet, choose Change billing frequency to set it on the Invoicing step.
- Under Pricing, choose Unit price.
- Enter Quantity per period as the units billed on each invoice.
- Enter Unit price per period as the price of one of those units on each invoice.
- Enter SSP per period as the standalone price of one unit for one invoice period.
- Read the live TCV preview (quantity × unit price × invoice periods) and confirm it matches the signed term total.
- Continue through the Invoicing, Recognition, and Preview steps, then save.
Confirm invoices and the contract total
After you save, check three surfaces before you activate the contract so a mistyped mode does not reach the customer. Open the contract preview and confirm each obligation header matches the commercial line: a Total amount line equals the figure you typed, and a Unit price line shows the period breakdown when there is more than one invoice. The contract Subtotal must equal the sum of those headers. The Contract total can differ when you configure tax. Open the invoice preview and confirm each generated invoice line shows the per-period quantity, not quantity divided by the number of invoices. Ten seats on a 12-month monthly contract must appear as 10 on each invoice. If you see a fractional quantity such as 0.83, the obligation counts one TCV period (immediate recognition, for example) but bills on several dates, so DualEntry splits the quantity across the invoices. Check the recognition method and billing frequency, then preview again. Open the revenue schedule preview and confirm the schedule total equals TCV. Quantity on each schedule line should match the quantity on the matching invoice period. Recognition dates can differ from invoice dates, but the schedule must not change TCV. If billing is weekly and recognition is monthly, expect many invoice lines and fewer recognition lines that still add up to the same total. If you create the contract throughPOST /public/v2/contracts/, send quantity and rate as per-invoice-period values. There is no total-amount field on the API; the Total amount tab is an app entry mode that saves quantity 1 and a per-period rate. After you post, read the contract back and confirm the returned TCV matches the term you intended.
Troubleshooting
Use this table when the contract total, invoice quantity, or schedule total does not match the commercial terms.
For allocation of the resulting transaction price, see Allocations and SSP. For billing frequency, see Subscription Billing.