User Personas: Admin | Project Management
Schedule of Values (SOV) and Progress Billing in eSUB give you one connected workflow to build a project billing breakdown, track progress by billing period, and generate Pay Applications. Every Progress Billing locks to a snapshot of the SOV, so your billing history stays consistent even as the contract evolves.
You will need the appropriate Progress Billing permissions to use the features below. See the Permissions table at the end of this article.
Use the links below to jump to a topic:
- Schedule of Values
- Progress Billing
- Pay Applications from Progress Billing
- Billing Rules and Guardrails
- Permissions
- FAQ
- Appendix: Progress Billing Calculations
Schedule of Values
The Schedule of Values is the master billing worksheet for the project. There is one SOV per project, and it is created automatically — you do not create it as a separate step.
Open the SOV
- Open the project.
- In the project menu, select Progress Billing.
- Select Open Schedule of Values (top-right of the Progress Billing log).
The SOV opens with four tabs: General Info, SOV, Billing, and Activity. The SOV tab is the working grid:
Note: If you only have the View permission, the SOV opens read-only: a Read Only chip displays at the top, editable fields are locked, and the Add Row, Save, and Add Progress actions are hidden.
Manage line items
Line items define the project’s billing breakdown.
To add a line item:
- On the SOV tab, select + Add Row (top-right of the grid, or inside a group header).
-
Enter values for Item No., Group, Description of Work, and Scheduled Value.
To edit a line item:
- Select the cell you want to update.
- Type the new value.
To delete a line item:
- Select the row’s delete icon.
- Confirm the deletion.
| Line items that have been used in a billed Progress Billing are locked from deletion (lock icon at the end of the row). This protects your billing history. |
Approved Change Orders
Approved Change Order Requests are added to the SOV automatically in the Approved Change Orders group, which is pinned at the bottom of the grid.
When you approve a COR, the system:
- Adds a line item with the approved amount as the Scheduled Value.
- Updates the line item automatically if the approved amount changes later.
- Removes the line item if approval is revoked.
You can also select + Add Change Order from the group header to create a new COR directly from the SOV.
For more information on approving a Change Order, see: Change Order Requests
Configure columns and custom columns
Select the gear icon (next to Add Row) to open the Configure panel.
From the Configure panel you can:
- Override item numbers — turn on to manually number line items (useful for owner- or contract-specific numbering).
- Add a custom column — type the column name and select + Add. Custom columns appear in uppercase to match standard headers.
- Show or hide a column — click the eye icon.
- Include or exclude a custom column from future Progress Billings — click the dollar-sign icon.
- Reorder columns — drag the handle next to a column name, or drag column headers directly in the grid.
- Remove a custom column — click the trash icon, then confirm
| Standard columns (Description of Work, Scheduled Value, etc.) cannot be renamed or removed. Column visibility is saved per browser, so it may not carry over between devices. |
Version History
The SOV keeps a permanent audit trail. A new version is created whenever:
- A Change Order is approved or removed.
- A Progress Billing is created.
- A Pay Application is created.
- A new editing session begins after another user’s changes.
To view version history:
- On the SOV, select View Versions (top toolbar).
- Review the Version History drawer.
Each entry shows:
- The version number
- A status chip (Active, Approved COR, Pay Application, or Progress Billing)
- A summary of changes (items added, removed, or changed)
- Dollar difference
- Timestamp.
From the version’s action menu you can open the document that triggered the version or view the SOV as it was at that point in time.
PDF, Excel, and Email
View PDF opens a print-ready version with two display options:
- Schedule of Values with Progress
- Schedule of Values without Progress
Custom columns are not included in PDFs. Use Excel export when custom columns matter.
Excel menu:
-
Export SOV as Excel downloads
eSUB-[PROJECT-NUMBER]-ScheduleOfValues.xlsxwith line items grouped, subtotals, grand total, and current column order. - Import SOV from Excel lets you update the SOV in bulk from a spreadsheet. The dialog shows a review of detected changes (added in green, edited in orange, deleted in red) with checkboxes so you can choose what to apply. Approved Change Orders are protected during import.
Email lets you send the SOV as a PDF and/or Excel attachment. Recipients are tracked in the project’s Mailbox. Default recipients can be configured in Project Settings → Progress Billing distribution lists.
Progress Billing
A Progress Billing captures the billing progress for a specific period. Each one locks to a snapshot of the SOV at the moment it was created, so later SOV changes do not retroactively affect existing Progress Billings.
Open the Progress Billing log
- Open the project.
- Select Progress Billing from the project menu.
- The Progress Billing tab is selected by default. (Use the Pay Apps tab to see Pay Applications.)
The log columns are: Number, Date, Period, Completed & Stored, Retainage, Amount Due, Pay Application, Status, and Progress to Date. The To Date row pinned at the bottom shows the running totals.
Create a Progress Billing
- On the SOV, select Add Progress (top toolbar).
- In the Generate Progress Billing dialog, choose a Period preset or enter custom From and To dates.
- Review the Current Contract Total, Current SOV Version, and Items to Bill summary.
- Select Generate Billing.
| Generating a new Progress Billing locks the previous one from further editing. Make any final adjustments to the prior period before continuing. |
When generated, the system creates a new SOV version snapshot, copies the line items into the new Progress Billing, and links the two. The Progress Billing line-item structure cannot be changed after creation to keep the billing history intact.
Enter work progress
The Work Progress tab is where you enter completion and stored-materials values for the period.
SOV-derived columns are locked: Item No., Group, Description of Work, Scheduled Value, Completed From Previous Pay App, Billed To Date.
You can edit: Work Completed (toggle between This Period and To Date in the column header), % This Period, Materials Presently Stored, Retainage This Period (% input), and Due This Period.
Work Completed and Percent Complete calculate from each other. When you enter a This Period value, the To Date value updates automatically (and vice versa).
To save your draft, select Save Draft. A progress bar displays while the save runs.
| Work Completed To Date cannot be less than previously completed work, and total completed cannot exceed Scheduled Value. Rows with errors are highlighted, and inline messages display in the Description column. Save Draft is disabled until errors are resolved. |
Due This Period is normally calculated automatically. If you manually override it, the grid shows an indicator and an option to return to the calculated value.
Progress Billing statuses
Draft |
The Progress Billing is in progress and editable. Only one Draft can exist per project at a time. |
Billed |
A Pay Application has been generated from this Progress Billing. The Progress Billing returns to Draft only if the linked Pay App is deleted (when deletion is allowed). |
In addition to the main status, billed Progress Billings display informational chips when a Pay App is linked:
- Pay App Created (a Pay App was generated)
- Locked by Pay App (the linked Pay App has moved past Draft / Revise and Resubmit, so the Progress Billing is read-only).
Stored Materials
Materials Presently Stored is the value of materials stored on-site but not yet installed. Stored amounts can roll over to the next Progress Billing, and the system tracks Materials Previously Stored so the same dollars aren’t billed twice when those materials are installed later.
Example:
- Month 1: $5,000 of pipe is stored on-site and billed as stored material.
- Month 2: The pipe is installed. The $5,000 moves from “stored” to “installed” but is not billed again, since it was already billed when stored.
A warehouse icon appears in the Materials Presently Stored cell when the value includes previously stored materials. Click it to see a breakdown of previously stored and installed amounts.
To install from stored materials:
- Select the install icon in the Materials Presently Stored cell.
- Enter the amount installed.
- Confirm.
Summary tab
The Summary tab provides a top-level billing summary for the period.
The Summary breaks values into three groups:
- Contract Values — Scheduled Value, Cost Impact by Change Orders, Revised Scheduled Value.
- Previous Period — Materials Previously Stored.
- This Period — Materials Stored This Period, Completed & Stored This Period, Retainage This Period (with rate), Amount Earned Less Retainage, Balance to Finish Including Retainage.
PDF, Excel, and Email
View PDF offers three display options:
- Progress Billing — This Period
- Progress Billing — To Date
- Progress Billing — Continuation Sheet
Excel export downloads eSUB-[PROJECT-NUMBER]-ProgressBilling.xlsx.
Email sends the Progress Billing PDF (and optional Excel) to recipients. Default recipients come from Project Settings → Progress Billing distribution lists.
Pay Applications from Progress Billing
Pay Applications can be generated directly from a Progress Billing. The values flow from the Progress Billing snapshot, and key fields are locked on the Pay App so totals can’t drift from the billing history.
Additional information regarding Pay Applications can be found at: Pay Applications
Generate a Pay App
- Open the Progress Billing.
- Select Save and Generate Pay App (top toolbar).
- Review the Generate Pay Application Draft dialog. It shows the contract value and this-period values that will populate the Pay App.
- Add internal notes (optional).
- Select Proceed to Pay Application.
- Complete any required Pay App fields.
- Select Save.
After saving, you land on the Pay Application view. Closing it returns you to the originating Progress Billing.
| On Pay Applications generated from Progress Billing, the Scheduled Value Amount, Net Change by Change Orders, and progress totals are locked to match the parent Progress Billing snapshot. Later SOV changes (such as a COR approved after the Progress Billing was created) do not flow into an existing Progress Billing or Pay App. |
Pay App statuses
Pay App status is driven entirely by the date fields on the Pay Application. Updating a date field advances or rolls back the status automatically — there is no separate “set status” action.
Status summary:
Draft |
Not yet sent. Editable. |
Pending |
Sent and awaiting review, action, or payment. |
Revise and Resubmit |
Returned for changes. |
Approved |
Approved by the GC/Owner and awaiting payment. |
Partially Paid |
Payment date set, payment amount less than amount due. |
Paid |
Payment date set, payment amount equals amount due. |
Date-driven status logic:
The table below shows which date field triggers which status. Status changes as you populate (or clear) each date field on the Pay Application.
Pay App Sent |
Draft |
Field is blank. |
Pay App Sent |
Pending |
Date is populated. |
Releases/Docs |
Pending |
Date is populated. |
Date Returned |
Revise and Resubmit |
Date is populated. Used when a Pay App is returned for edits. |
Resubmitted |
Pending |
Date is populated. |
Date Approved |
Approved |
Date is populated. |
Contact GC / Regarding Payment |
Pending |
Date is populated. |
Payment Date |
Partially Paid |
Amount paid field is blank or less than the amount due. |
Payment Date |
Paid |
Amount paid equals the amount due (paid in full). |
| Tiebreaker between Date Returned and Date Approved: If Date Returned is after the Date Approved, the status is Revise and Resubmit. If Date Approved is on or after the Date Returned, the status is Approved. This lets you handle the common cycle of submit → returned → resubmit → approved without losing or overwriting prior dates. Whichever date is most recent wins. |
Update a linked Pay App
If the linked Pay App is in Draft or Revise and Resubmit, you can update the Progress Billing and push the changes to the Pay App.
- Open the Progress Billing.
- Update the progress values.
- Select Save and Update Pay App (top toolbar).
- Review the dialog showing the value changes.
- Add internal notes (optional).
- Select Update Pay Application.
If the Pay App has moved past Revise and Resubmit (i.e., to Pending, Approved, Partially Paid, or Paid), the Progress Billing locks to read-only to prevent edits that conflict with submitted billing.
Billing Rules and Guardrails
Progress Billing enforces strict rules to protect financial consistency.
One Draft Progress Billing at a time. Finalize the current draft (generate a Pay App) or delete it before creating another.
Sequential billing periods. You cannot backdate a Progress Billing before a previous period, create overlapping periods, or open a new Progress Billing while a prior one is still Draft. You can skip months when creating a custom period as long as the new period starts after the previous billed period.
Period dates are editable while Draft only. Once the Progress Billing is no longer Draft, the From/To dates become read-only.
Previous Progress Billing locks when a new one is created. This protects the starting balances of the new period.
Delete rules. Progress Billings that are not Draft cannot be deleted. Pay Applications linked to locked Progress Billings cannot be deleted.
Manual Pay Applications. Still supported for backward compatibility, but the recommended workflow is to generate Pay Apps from Progress Billing. Manual Pay Apps are tagged in the Pay Applications log. If a Draft Progress Billing already exists and you start a new Pay App, the system opens the Generate Pay Application dialog for that Progress Billing instead.
Correcting past periods. Progress Billings are point-in-time records. To correct a prior period you may need to delete the newer Progress Billing (if allowed) or incorporate the adjustment into the current period. For rejected Pay Apps in Revise and Resubmit status, editing the linked Progress Billing is allowed only when no newer Progress Billing exists.
Permissions
The Progress Billing permission group controls SOV, Progress Billing, and Pay Application access.
Schedule of Values
Action |
Required Permission |
|---|---|
View SOV / PDF / Versions |
View |
Open SOV Excel menu / Export to Excel |
View |
Email SOV |
View |
Add, edit, delete rows |
Edit |
Configure columns |
Edit |
Save SOV |
Edit |
Import SOV from Excel |
Edit |
Activity tab |
View Mailbox |
Progress Billing and Pay Apps
Action |
Required Permission |
|---|---|
View Progress Billing / PDF |
View |
Create Progress Billing |
Create |
Edit Progress Billing / Save Draft |
Edit |
Delete Progress Billing |
Delete |
Save and Generate Pay App |
Edit |
Save and Update Pay App |
Edit |
Open Excel menu / Export Excel or CSV / Email |
Share |
Activity tab |
View Mailbox |
If a user does not see an action described in this article, review their Progress Billing permissions. Admins can adjust permissions from User Permissions.
FAQ
Why can’t I add a Progress Billing? Either the SOV has no line items, or another Draft Progress Billing already exists. Add line items or finalize/delete the existing draft first.
Why can’t I edit a Progress Billing? It may be locked by permissions, billing status, billing sequence rules, or linked Pay App status. If the linked Pay App is Pending, Approved, Partially Paid, or Paid, the Progress Billing is read-only.
Why are some SOV line items locked from deletion? Line items used in a billed Progress Billing are locked to protect billing history.
Why don’t custom columns appear in PDFs? PDFs do not include custom columns. Use Excel export for custom columns.
Why didn’t a newly approved Change Order appear on an existing Progress Billing? Progress Billings are snapshots. Change Orders approved after a Progress Billing was created are not added to it. They appear in the next Progress Billing.
Why didn’t a new SOV custom column appear on an existing Progress Billing? Same reason — Progress Billings are snapshots. Custom columns added later only flow into future Progress Billings.
Why does the system only allow one Draft Progress Billing at a time? Progress Billing uses sequential billing calculations. Multiple drafts could cause starting balances and prior billed amounts to become inconsistent.
Why doesn’t stored material bill again when it is installed later? Materials stored in a prior period were already billed. When installed later, the system tracks Materials Previously Stored and excludes that amount from current-period billing.
Why did my Pay App status change when I entered a date? Pay App status is driven entirely by the date fields on the Pay App. Populating a date field advances the status (for example, entering a Date Approved moves the Pay App to Approved). See Pay App statuses for the full date-to-status mapping.
My Pay App was returned and then approved — why does it still show as Revise and Resubmit (or vice versa)? The most recent date wins. If Date Returned is after Date Approved, status is Revise and Resubmit. If Date Approved is on or after Date Returned, status is Approved. Check the two dates and update whichever is correct for the current cycle.
Can I still create a manual Pay Application? Yes, manual Pay Apps remain available for backward compatibility. The recommended workflow is to generate Pay Apps from Progress Billing so line-item progress and totals stay connected.
Where can I see email activity? On the Activity tab of the SOV, Progress Billing, or Pay Application — and in the project Mailbox / Outbox (subject to permissions).
Appendix: Progress Billing Calculations
Progress Billing values are calculated from SOV values, previous billed amounts, this-period work, stored materials, and retainage. The formulas below show how each field is derived.
Field |
Formula |
|---|---|
Work Completed To Date |
Completed from Previous Pay App + Work Completed This Period |
Work Completed This Period |
Work Completed To Date − Completed from Previous Pay App |
% Work Completed This Period |
(Work Completed This Period ÷ Scheduled Value) × 100 |
% Work Completed To Date |
(Work Completed To Date ÷ Scheduled Value) × 100 |
Completed & Stored To Date |
Completed from Previous Pay App + Work Completed This Period + Materials Presently Stored |
% of Completion |
(Completed & Stored To Date ÷ Scheduled Value) × 100 |
Balance to Finish |
Scheduled Value − Completed from Previous Pay App − Work Completed This Period − Materials Presently Stored |
Retainage This Period |
(Work Completed This Period + Materials Presently Stored − Materials Previously Stored) × (Retainage % ÷ 100) |
Due This Period |
(Work Completed This Period + Materials Presently Stored − Materials Previously Stored) − Retainage This Period |
Billed to Date |
Billed Previously + Due This Period |
Manual override. Due This Period can be manually overridden. When overridden, the grid shows an indicator next to the value and an option to revert to the calculated amount. Due This Period is locked when the billable amount is zero or negative.
Stored materials and double-billing protection. Materials Previously Stored is tracked separately so the same dollars are not billed twice when stored materials are later installed. See Stored Materials for the worked example.
Comments
0 comments
Article is closed for comments.