Skip to main content

Symon.AI help center

ASC 606 Amortization


Create amortization payouts and view them as waterfalls for ASC 606 requirements.

Using this pipe with the associated Incentives process helps you create amortization payouts and view them as waterfalls for ASC 606 requirements. If your organization has commissions at a non-transactional level, use the ASC 606 Preparation blueprint first.

What is ASC 606?

A US GAAP regulatory requirement on how organizations should recognize revenue and amortize those expenses.

Why is it important for commissions?
  • Revenue recognition requires the recognition and amortization of all expenses.

  • Sales commissions represent a major portion of expenses.

ASC 606 Amortization prerequisites
  • Commissions available at the transaction level, along with the term (contract) data. Transaction Level Commissions (Data)

  • Component level amortization eligibility and frequency. Amortization Rules (Data)

  • Date string to numeric date value conversion table (this is provided and can be configurated). Date to DateValue Table (Data)

Pipe and offering highlights
  • Flexibility: Can handle commissions at aggregated or transaction levels, has immediate expense reimbursement eligibility at the commission level, and has amortization eligibility for commission types (components).

  • Accuracy: Proration at a daily level.

  • Granularity: All commissions calculated at an aggregated level are prorated back to the transaction level.


The tools in this blueprint are color-coded based on their function:

  • Yellow: input and output data. Transaction Level Commissions (Data) contains the transactional level commissions, and term start and end. Amortization Rules (Data) contains your component level amortization eligibility and frequency rules. Date to DateValue Table (Data) converts date strings to numeric date values. Export to Incentives (Export) exports to Incentives for use in the ICM ASC606 calc.

  • Green: join tools; add another data set to an existing one by appending columns.

  • Turquoise: find the difference between two dates, and add a new column to your data.

Varicent ASC 606 process flow

  1. (ASC 606 Preparation Blueprint): Reverse calculating commission at the Contract Level.

    1. Identify contract duration for transactions.

    2. Group transactions based on term and payee, and aggregate at term level credit.

    3. Prorate based on individual transaction credit compared with Total Credit.

    4. Apply the proration at the payout level to reverse calculate aggregated commission at the transaction level.

    5. Add the transactional and non-transactional commissions back together.

    6. Remove the transactions with 0 commission.

    7. Create a "Revised Provision Date" column. Export data.

    8. Download file and re-import into Symon.AI to use in the ASC 606 Amortization blueprint.

  2. (ASC 606 Amortization Blueprint) Apply amortization schedule.

    1. Get Numeric Date (Join): Get the numeric date values for the transaction commission data.

    2. Amortization Rules (Join): Add the amortization schedule rules to the data.

    3. Get End of Term DateValue (Formula) Calculate the end of term date value.

    4. Term End Date (Join): Convert end of term numerical value to the actual ending date.

    5. Total Term Days (Date Diff): Identify total number of days between contract start and end dates (or based on provision date and term). This allows for correct daily proration and amortization.

    6. Amortization Frequency (Formula): Apply amortization frequency.

    7. Export to ICM (Export) Export to Incentives. The Incentives ASC606 calc expects the same 26 columns in this blueprint, with each record representing one unique opportunity-component-payee combination.

  3. Create an amortization waterfall in Incentives.

    The Incentives calc uses the Symon.AI Pipe object to import that result from Step 2. If a live connection cannot be established, you can upload a manual extract. Following that, the calc then:

    • Establishes the list of periods (months) between Provision Date or Amortization Start date, and End Date.

    • Calculates the number of days in each period. This is to accommodate proration for all deals started mid period.

    • Creates a data set where each component-period combination has an added column that states how many days belong to that period.Calculates the amortization amount for each period.

    • Calculates the amortization amount for each period.

    • From there, a variety of aggregations and pivots are performed in the last folder node to present the waterfall view at the required granularity for reporting.