Process contract schedules
This list supports the enhanced lists interface. Learn more about using enhanced lists.
Use Process Contract Schedules to build up reporting balances for historical and in-flight contracts in Sage Intacct before using the Contracts application for live transactions. Typically, only implementers or other experienced Sage Intacct users will use this function for:
- New Intacct customers who want to subscribe to Contracts
- Existing Intacct customers who are currently using Order Entry and want to move to Contracts
- Existing Contracts customers who acquire other companies and want to move a new entity onto Contracts
| Subscription |
Contracts |
|---|---|
| Regional availability |
|
| User type | Business |
| Permissions |
Process contract schedules: List, View, Process contracts |
Before processing contract schedules
A Contracts implementation process consists of many steps performed both outside of and within Sage Intacct. This section pertains to steps performed in Sage Intacct. To ensure that your contracts data is processed correctly, perform the following steps in the recommended order before processing contract schedules.
Process contract schedules at the entity-level.
- Subscribe to Contracts.
- Configure the Go live date. In multi-entity environments, configure the Go live date in each entity. Do not import contract lines into an entity until this step is completed. See Configure contract schedules processing.
- Set up the Contracts application. For example, set up all revenue templates, billing prices lists, and so on. See Set up Contracts.
- Import the applicable contract data per your ASC 606/IFRS 15 adoption method. This includes contracts, contract lines, usage records, projects, and any other related contracts data.Use reports to verify that schedules were imported to the correct accounts. For example, the CN_Contract Line Detail—GL Mapping report available in the Contract Management Reports package shows the Unbilled, Billed, and Paid accounts for contract lines. You can use this report as a model to create a similar report to see expense account information.Do not use the Project time billing method for historical contract lines associated with time and materials projects. Historical variable considerations are known, so they’re no longer variable. Use the actual revenue.
- Perform contract-related data tasks in Sage Intacct. Some examples are as follows:
- Deliver historical contract lines. Contract schedules that are "Pending delivery" will not be processed. See Deliver a contract or contract line.
- Enter any project or task percentage of completion values for projects associated with contracts. Intacct will only process percent complete recognition based on Observed percent complete—it will not process percent complete recognition based on timesheets.
Process contract schedules
Process contract schedules at the entity-level. If your company is using event-based recognition, ensure that all contract lines with historical revenue schedule entries have Delivery status = "Delivered" before executing this process. If any contract lines have project or task percent complete billing or recognition, update the applicable project or task Observed percent complete tables before executing this process. See Before processing contract schedules for details.
- Go to Contracts > Setup > More > Process contract schedules.
- Select Process contracts.
The Process Contract Schedules page appears.
- Use the calendar tool in the As of date field to select the date on or before which to process schedules.
- If you want notifications to go to a different email address than the default, enter the desired address in the Email address field.
- Select Run now.
The Process Contract Schedules list appears and displays the run record. When Intacct completes processing, Intacct sends a notification email to the email address specified in the run.
Process contracts with MEA allocations
For contracts that have MEA allocations, you’ll run Process Contract Schedules at least twice: Once before creating the MEA allocation and then after creating the MEA allocation. For historical contracts, repeat the process for all reporting periods to meet the required disclosures.
Sage Intacct recommends processing contracts with MEA allocations as follows:
| In-flight contracts | Historical contracts | |
|---|---|---|
|
Run as of the Go live date minus one. | Run as of the last day of the reporting period. |
|
Create one MEA allocation for each contract effective on the Go live date minus 1. |
Create MEA allocations for each applicable contract effective on the last day of the reporting period. |
|
Run as of the Go live date minus one. |
Run as of the last day of the reporting period. |
Verify the results of contract schedules processing
To verify the results of contract schedule processing, you can:
- View the Contract Schedules Processing Results page
- Use Contracts reports
View the Contract Schedules Processing Results page
After Intacct finishes processing a run, you can verify the results in the run record. The results in the run record are essentially the same as the results in the email notification.
- Go to Contracts > Setup > More > Process contract schedules.
-
Find the record that you want to view.
-
Select the record's number to view it.
- Go to Contracts > Setup > More > Process contract schedules.
- Select View next to the desired run record.
The Contract Schedules Processing Results page appears.
Use Contracts reports to verify data
Use reports to verify that schedules were processed as expected for their scheduled posting dates. For example, the CN_Contract Subledger report available in the Contract Subledger Reports package shows the Unbilled, Billed, and Paid values for contract lines as of a given date. Run this report from Inception to the Go live date minus 1 day to review and reconcile your contract subledger balances to your historical accounting system. After reconciling, you can use this data to help reclassify legacy account balances to contract account balances in the General Ledger.
Learn more about Contracts reports.
Delete a historical invoice
During a contract schedules processing run, Intacct generates an invoice for each contract for each scheduled billing period using a system-created transaction definition named z_Contract Historical Invoice. You cannot convert, edit, or apply payment to these invoices—you can only use them for reporting and for reference. However, if necessary, you can delete these types of invoices to roll back subledger data.
If the contract has MEA allocations and revenue posted with dates that occur after the invoice date, clear the associated MEA allocations or posted revenue prior to deleting the invoice.
You cannot delete a historical invoice after contract schedules processing has been locked.
- Go to Order Entry > All > Transactions > Invoice > z_Contract Historical Invoice.
-
Find the invoice that you want to delete.
-
Select More actions > Delete at the end of the row.
-
Select Delete to confirm.
- Go to Order Entry > All > Transactions > Invoice > z_Contract Historical Invoice
-
Select the checkbox in the Delete column next to each desired invoice.
-
Select Delete. Depending on your user preferences, you may need to confirm the delete by selecting OK.
Clear a historical revenue or expense posting
Clearing a historical revenue or expense entry rolls the Paid or Recognized value back to the Unbilled or Accrual account. The process for clearing historical revenue or expense postings is the same as clearing live revenue or expense data.
- Open the applicable schedule for the applicable journal.
- Select the checkbox in the Clear column (the far-right column) next to the desired Posted entry or select the checkbox in the Clear header to select all Posted entries.
- Select Clear.
Troubleshoot contract schedules processing
| Problem | Possible solution |
|---|---|
| State = Success, but 0 entries were processed |
This may occur when the process skips contract lines that have:
Update the applicable data and run Process Contract Schedules again. Use the CN_Contract schedule state by line report to find contract lines that have Delivery status = "Undelivered".
|
| No contract schedule entries are flagged as "Historical". |
This occurs when:
|
| There are no unprocessed contract schedule entries with "Historical" flags. Verify that the As of date includes the desired schedule entries and that they’re flagged as "Historical". |
This occurs when you select Run now in Process Contract Schedules and Intacct cannot find any unprocessed historical contract schedule entries. In this scenario, do the following:
|
| The entity is locked. The cancellation date must be on or after the Go live date <date>. |
If you want to cancel a contract schedule that contains historical schedule entries after an entity is locked, use a cancellation date that's on or after the Go live date. If you want the cancellation date to be earlier than the Go live date, you can unlock the entity if you have not posted any live transactions. Learn more about the contract schedules processing lock. |
| You cannot generate invoices that post after the Go live date <date> until contract schedules processing is locked. A user with Admin privileges can set the lock in Configure Process Contract Schedules. | Users cannot post live Contracts transactions in an entity until contract schedules processing is locked. Learn how to set the contract schedules processing lock. |
| Cannot lock entity with unposted historical schedules. | You cannot lock your company or entity until all scheduled entries flagged as "Historical" are posted. Duplicate one of the standard Contracts Forecasting reports, add the Historical column to it, and use the report to find unposted Historical scheduled entries. Then verify associated data and run Process Contract Schedules as of the applicable dates. |
| How can I verify the exchange rates used for processing contract schedules? |
When the transaction currency of the contract differs from the company's base currency, the applicable exchange rate date determines the exchange rate used for subledger entries associated with a given posting event. See Exchange rate dates for details. To see the transaction history with exchange rates for a contract line, use the CN_Contract Subledger—raw data report in the Contract Subledger Report package. |
| Cannot delete a historical invoice. |
You cannot delete a historical invoice after contract schedules processing has been locked. If contract schedules processing is not locked, this may occur for contracts with MEAs. To delete the invoice:
|
Field descriptions
| Field | Description |
|---|---|
| As of date | Use the calendar tool to select the date on or before which includes the historical schedules you want to process. |
| Email address | The email address to which the run completion notification is sent. Defaults to the email address for the logged in user. |
| Go live date | The date on or after which scheduled entries will post to the GL. It's the date that you intend to start using the Contracts application for in progress or new contracts. This date is defined in the Configure Process Contract Schedules page. |
| Entity |
This field is only applicable to multi-entity environments. The entity for which the contract schedules are processed. You’ll execute contract schedules processing for each entity in a multi-entity environment. |
| Run results | The following additional fields display in the Contract Schedules Processing Results pages. |
| State |
The state of the process run.
|
| Contract | The contract ID for the contract that was processed. |
| Contract start date | The start date for the contract that was processed. |
| Run status |
The process status for the corresponding contract.
|
| Number processed | The total number of scheduled entries that were processed for the contract. For example, if 10 billing entries, 18 revenue entries, and 6 expense entries were processed, the total number processed is 34. |
| Notes |
For contracts with Run status = Success, shows the number of billing, revenue, or expense revenues that were processed. For contracts with Run status = Failure, shows the error information associated with the failure. |