Documentation Index
Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt
Use this file to discover all available pages before exploring further.
Revenue Recognition
DualEntry’s revenue recognition engine implements ASC 606 end-to-end, from contract creation through recognized revenue reporting. You model your customer arrangements as contracts, define performance obligations on each contract, and let DualEntry handle allocation, scheduling, and journal entry generation.The contract model
Revenue recognition in DualEntry centers on the contract. A contract is a record that captures the terms of an arrangement with a customer - what you are delivering, when, and at what price. Each contract contains one or more performance obligations, which represent the distinct goods or services you have promised. You create contracts manually in the UI, through the API at/public/v2/contracts/, or automatically via the Stripe integration. Contracts move through a lifecycle of statuses: draft, active, completed, terminated, and archived. Revenue recognition begins when a contract reaches active status.
Each contract also carries a currency, billing frequency, and optional end date. These fields drive the billing schedule but do not directly control recognition - recognition timing is determined by the strategy you assign to each performance obligation. You can review the full contract lifecycle and status transitions in ASC 606 in DualEntry.
Recognition strategies
DualEntry supports multiple recognition strategies so you can match how you satisfy each obligation to how revenue is recorded.- Straight-line - recognizes revenue evenly over the obligation term.
- Daily pro-rata - recognizes revenue based on exact days elapsed.
- Milestone - recognizes revenue when you mark a milestone as achieved.
- Usage-based - recognizes revenue based on consumption records you submit.
- Immediate - recognizes the full amount when the obligation is satisfied.
- Deposit release - holds revenue until a release event occurs.
ASC 606 compliance
DualEntry follows the five-step ASC 606 model: identify the contract, identify performance obligations, determine the transaction price, allocate to obligations using standalone selling price, and recognize revenue per each obligation’s strategy. The system enforces these steps structurally. You cannot activate a contract without at least one performance obligation, and DualEntry runs allocation automatically before generating a recognition schedule. This means the five-step framework is embedded in the workflow rather than tracked manually. For the full walkthrough of each step, including how to enter accumulated revenue when cutting over an in-flight contract from a legacy system, see ASC 606 in DualEntry. For details on how contract changes affect the model, see Change Orders, Terminations, and Renewals.Pages in this section
- ASC 606 in DualEntry - how the five-step model maps to DualEntry’s data model.
- Allocations and SSP - configure standalone selling prices and understand how DualEntry allocates transaction price.
- Change Orders, Terminations, and Renewals - process contract modifications and their revenue impact.
- Reporting - revenue waterfall, deferred revenue schedules, and auditor-ready reports.
- Stripe Revenue Sync - automatically create revenue contracts from Stripe subscriptions.
