Deliver a contract or contract lines

This topic describes how to use event-based recognition in your Contracts environment. At this time, event-based recognition is limited for use with revenue templates where the Recognition method = "Straight line" or "Daily rate" and with contracts that have Term type = "Termed".

About event-based recognition

Some businesses regularly sell products or services where the revenue cannot begin to be recognized until an event occurs. For example, a software company might receive payment in advance for implementation services, but they do not consider the revenue as earned until the software go-live date.

Sage Intacct lets you automatically prevent revenue schedules from starting for contract lines until you specifically indicate that the recognition event has occurred. This is accomplished via the contract line's Delivery status, which defaults from the selected item. You can also choose to defer the revenue schedules for one or more contract lines in a contract until all contract lines are delivered.

If the contract line's Delivery status = "Undelivered," the associated contract line's revenue schedule is set to "Pending delivery". When a user executes the Deliver contract or Deliver contract line function, the contract line's Delivery status is set to "Delivered".

  • If the contract line's Revenue recognition deferral status = "Defer revenue until item is delivered", the process sets the associated revenue schedules to "In progress" as of the delivery date.
  • If the contract line's Revenue recognition deferral status = "Defer revenue until all items are delivered", the contract line's revenue schedule remains "Pending delivery" until all contract lines in the contract have Delivery status = "Delivered".

The contract line's revenue template determines how Intacct adjusts the revenue schedule to account for any skipped revenue periods when the delivery date is later than the revenue template start date.

The contract line's Posting type determines whether the adjustments are posted automatically or require manual posting.

In order to use the Delivery feature, your Contracts environment must be set up for event-based revenue recognition.

Deliver contract lines in a single contract

You can set one or more contract lines to "Delivered" from the contract.

  1. Open a contract in Edit mode.
  2. Select More actions > Deliver contract lines.

    The Deliver contract dialog box appears. This dialog box only displays contract lines where the Delivery status = "Undelivered".

  3. Use the calendar tool to select the applicable Delivery date.
  4. Select the contract lines you want to set to "Delivered" status.
  5. Select Deliver.

    The dialog box closes and the message, "The selected contract lines have been delivered successfully" appears at the top of the Contract page.

Deliver a single contract line

You can set an individual contract line to "Delivered" from the contract line.

For kit contract lines, use the Deliver contract line function on the kit component contract lines.

  1. Open a contract in Edit mode and open the desired contract line in Edit mode.
  2. Select More actions > Deliver contract line.

    The Deliver contract line dialog box appears.

    The Deliver contract line menu option only displays if the contract line's Delivery status = "Undelivered" and the associated recognition method is either "Straight line" or "Daily rate".
  3. Use the calendar tool to select the applicable Delivery date.
  4. Select Deliver.

    The message, "The contract line has been delivered successfully" appears at the top of the page.

Deliver contract lines in bulk on the Manage Schedules page

You can use the Manage Schedules page to deliver multiple contract lines across multiple contracts.

  1. Go to Contracts > All > Manage schedules.
  2. In the Action dropdown, select Deliver.

  3. In the As of date field, select a date on or before which includes the contract lines you want to deliver.

  4. Select filters and user-defined dimensions (if any) to narrow the focus of the contract lines you want to deliver.

  5. Select Preview.

    The schedules section displays only the lines that meet the filter criteria and are Undelivered.

  6. In the Delivery date field, select a date.

  7. Select the contract lines that you want to deliver by doing one of the following:

    • Select the checkbox to the far left of each row.

    • Select the dropdown next to the checkbox in the column header and choose Select all on this page to select all rows currently visible.

    • If there are multiple pages of results, select the dropdown next to the checkbox in the column header and choose Select all to select all rows across all pages.

  8. Select Deliver.

    Intacct creates a bulk action run record and completes the process offline.

Revenue schedule adjustments and posting behavior

The Revenue adjustment option on the revenue template determines how to account for revenue that was previously scheduled prior to the Delivery date. The Revenue adjustment options are as follows:

Option Description
Catch-up: one time

Sets the Scheduled posting date to the Delivery date for all revenue that was scheduled prior to the Delivery date.

For example, say the revenue schedule started on 01/01/2023 and ends 12/31/2023. You set the line to "Delivered" with a Delivery date of 04/01/2023. Intacct schedules the Jan, Feb, and Mar periods to post on 04/01/2023 in three separate entries. This "catches up" the schedule all at once.

Catch-up: distributed

Recalculates the revenue schedule term using the Delivery date as the start date and spreads the total revenue amount across the shortened schedule so that any skipped periods due to late delivery are eventually caught up. The calculation used is:

Total revenue amount divided by the number of days from the Delivery date to the revenue template End date = schedule daily rate

If there are partial periods, prorate partial periods using the schedule daily rate and subtract from total revenue amount = remaining schedule amount

Remaining revenue amount divided by total number of remaining whole periods in schedule = new monthly revenue amount

For example, say you have a contract line for 12,000 that started on January 01, 2023 and ends on December 31, 2023. You deliver the contract line on April 16, 2023. The calculation for the revenue is:

12,000.00 / 260 days = 46.15384615384615

15 days x 46.15384615384615 = 692.31 (revenue amount for April)

12,000.00 - 692.31 = 11,307.69

11,307.69 / 8 whole periods = 1,413.46 (monthly amount for May-December)

Walk forward

Regenerates the revenue schedule as of the Delivery date and pushes the end date out to the date that is equal to the number of days from the original revenue template Start date to the Delivery date. The system prorates any partial periods. The whole period amount remains equal to the originally scheduled whole period amount.

For example, say the revenue schedule started on 01/01/2023 and ends 12/31/2023. You set the line to "Delivered" on 04/16/2023. The schedule's new internal start date is 04/16/2023 and its internal end date is now 04/15/2024, so it now has 13 periods instead of 12. The system prorates the two partial periods and schedules them for 04/30/2023 and 04/30/2024, respectively.

The posting behavior of any adjustments depends on the revenue schedule's Posting type:

  • Manual: the user must manually post adjustments. The system won’t automatically post revenue skipped due to delayed delivery, even if the Delivery date has passed.
  • Automatic: for "Catch up: one time" and "Catch up: distributed", the system will automatically post skipped revenue when you execute the Deliver function. For "Walk forward", the system scheduler will post any revenue scheduled in the past the next time it runs.

View delivery details

You can access the audit trail on the contract line to view delivery details. Learn more about the audit trail.

Troubleshoot Deliver contract lines

Problem Possible solution
I don't see the Delivery status, Delivery date, or Revenue recognition deferral status fields on my contract lines. In order to use the Delivery feature, your Contracts environment must be set up for event-based revenue recognition. Verify that your Contracts environment was set up correctly.

I can't see the Deliver contract line menu option.

Verify that the contract line's Delivery status = "Undelivered" and the associated recognition method is either "Straight line" or "Daily rate".

When I access the Deliver contract dialog box from the contract, it is empty.

Verify that the contract has at least one contract line with Delivery status = "Undelivered" and the associated recognition method is either "Straight line" or "Daily rate".
I set a contract line to "Delivered" by mistake. How do I set it back to "Undelivered"?

There is currently no reset for the Delivery status. In this scenario, you can do one of the following:

  • If you have not invoiced the contract line, you can delete the contract line and add it again.
  • If you have invoiced the contract line, you can place the revenue schedules on hold. When the recognition event occurs, resume the revenue schedules. Then edit the revenue schedules to adjust the revenue as applicable.
I created a contract line with an item that has a default Delivery status of "Undelivered", but when I saved the contract line the system set its Delivery status to "Delivered". Event-driven recognition is currently limited to revenue templates where the Recognition method = "Straight line" or "Daily rate". If you chose a revenue template with a different Recognition method, the system automatically sets the contract line's Delivery status to "Delivered". In this scenario, delete the contract line, add a new contract line, and select a revenue template that has Recognition method = "Straight line" or "Daily rate".
I set a contract line to "Delivered", but the Schedule status on the revenue schedule is set to "Pending delivery of all items".

The Revenue recognition deferral status for the selected item is set to "Defer revenue until all items are delivered". When all contract lines in the contract have Delivery status = "Delivered", the system will set the contract line's revenue schedule to "In progress".

While you can change the default deferral status when you add a contract line, you can't change it after the contract line is saved. If you need to start the revenue schedule, you can do one of the following:

  • If you haven't invoiced the contract line, you can delete the contract line and then add contract line again, but change the Revenue recognition deferral status before saving the new contract line.
  • If you have invoiced the contract line, you can deliver all contract lines in the contract. You can then place the other contract lines' revenue schedules on hold. When the recognition event occurs for the other contract lines, resume the revenue schedules. Then edit the revenue schedules to adjust the revenue as applicable.
I canceled an "Undelivered" contract line and the entire revenue amount is open in the revenue schedule.

While the system will allow you to cancel the contract line and then execute the Deliver contract line function at a later time, the system will leave the entire revenue amount open on the revenue schedule. Uncancel the contract line and then do one of the following:

If you don't want to recognize any revenue or generate invoices for the "Undelivered" contract line, you can either delete it or cancel it and use the contract line start date as the cancellation date.

If you do want to recognize some revenue and generate an invoice for the "Undelivered" contract line, the best practice is to do the following:

  1. Execute the Deliver contract line function before canceling the contract line.
  2. Cancel the contract line using a date that is greater than the Delivery date as the Cancellation date.
I can't select a contract line in the Deliver Contract dialog box. A contract line appears, but it is grayed-out. You need Edit permissions for Contracts in order to deliver a contract line. Ask your Intacct administrator for the applicable Contracts permissions.

The Delivery status = "Undelivered", but the revenue schedule status = "On hold".

Deliver revenue schedule was not successful. Resume the revenue schedule from hold and then try delivering it again.

You can place an undelivered contract line on hold. This changes its revenue schedule status from "Pending delivery" or "Pending delivery of all items" to "On hold". You can't deliver an undelivered contract line while it is "On hold".

To deliver the contract line:

  1. Resume the contract line from hold. The revenue schedule will not be affected by the resume.
  2. Deliver the contract line. The revenue schedule may be adjusted according to the Revenue adjustment option and resume date combination.
This contract line is participating in the <scheme name> MEA allocation effective <effective date>, which is preventing the contract line from being delivered on a date earlier than <effective date>. To resolve this situation, do one of the following: Clear the <scheme name effective date> MEA allocation, then deliver the contract line, and then create a new MEA allocation effective <effective date>, OR use a delivery date that is after <effective date>.

If the contract line is participating in an MEA allocation, you can't deliver the contract line on a date that is earlier than the MEA allocation effective date. In this scenario, do one of the following:

  • Clear the applicable MEA allocation, deliver the contract line on the desired date, and then create a new MEA allocation effective on the applicable effective date.
  • Use a delivery date that is after the MEA allocation effective date.