Table of Contents
Billing for stored materials on a construction project allows contractors to recover the costs of purchasing and storing materials on a job site. It also requires teams to ensure they accurately account for materials received. This includes documenting the trade partners, types of materials, quantities, costs, and delivery dates. Because stored materials do not represent completed work, invoices must be itemized to differentiate between what is installed on a project during a billing period and what is stored for future work.
Once a contractor receives an invoice payment, stored materials become the client's property and the contractor is responsible for ensuring stored materials are safe. To avoid misunderstandings, ensure the requirements in a project's commitment or prime contract are clear about how to bill for stored materials.
Teams using the Procore Invoice Management solution can manage stored materials manually or enable a configuration option that moves balances from the 'Materials Presently Stored' column on a previous invoice to the 'Work Completed from Previous Application' column on the next invoice. Users also bill for stored materials using the accounting method configured for the contract.
In addition, teams can configure a Procore project template, so the stored materials configuration settings are automatically copied to new Procore projects. To learn more, see What gets copied over to a new project when applying a project template?
To bill for stored materials, your team must:
You also need to:
Step | On owner invoices... | On subcontractor invoices... |
---|---|---|
Opt into the modernized invoice experience | About Owner Invoices | About Subcontractor Invoices |
Create a contract | Create Prime Contracts | Create a Commitment 1 |
Create an invoice | Create Owner Invoices | Create a Subcontractor Invoice |
1 In Procore, a commitment is either a purchase order or a subcontract.
When your team creates owner or subcontractor invoices, you bill for line items as other project costs. The only difference is that the materials installed and the materials stored are documented on the invoice.
Please be aware of the following limitations:
To bill for stored materials, configure these settings:
Configure the accounting method for a new prime contract to bill for stored materials on an invoice. You can also configure the accounting method to use on purchase orders and subcontracts created with the Project-level Commitments tool. Procore applies the setting you choose to the contract and any invoices related to the contract. Choices are:
These examples show you how to choose the accounting method for purchase orders and subcontracts in the project's Commitments tool and on a new prime contract for a project. To learn more, see How do I set the accounting method for a contract?
Commitments
A user with 'Admin' level permissions on the Commitments tool configures the 'Default Accounting Method for Purchase Orders' and 'Default Accounting Method for Subcontracts' settings under 'Default Contract Settings' on the 'Configure Settings' page of the tool. Once set, all of the commitments on the project use the method configured. To learn more, see Configure Advanced Settings: Commitments.
Prime Contracts
A user creating a prime contract must configure its default accounting method before adding any line items to its Schedule of Values. Once line items are added, you cannot change the accounting method. In Procore, the default accounting method is Amount-Based contracts. To change to the Unit/Quantity-based method, click the button in the banner at the top of a prime contract's Schedule of Values. To learn more, see Create Prime Contracts.
To enable billing for stored materials on a contract, a team member with 'Admin' level permissions on the Commitments or Prime Contracts tool can mark the 'Enable Billing Separately for Stored Materials' setting on the Advanced Settings tab of a commitment or prime contract.
This is an example of the 'Stored Materials' setting on a contract. This setting is available on both the Commitments and Prime Contracts tools. To enable the option, mark the 'Enable Invoices' check box and then the 'Enable Billing Separately for Stored Materials' check box.
If your invoices must account for retainage, your team also has the option to mark the 'Enable Stored Material Retainage' check box. To learn how to enter retainage on a prime contract, see Edit Owner Invoices. To configure subcontractor invoices to enter retainage, see Enable Retainage on a Purchase Order or Subcontract.
A team member with 'Admin' level permissions on the Commitments tool can update the Stored Materials settings on the Project-level Invoicing tool. When toggled ON, Procore automatically moves the amount entered in the 'Materials Presently Stored' column on the previous invoice's Schedule of Values to the 'Work Completed from Previous Application' column on the next invoice.
This is an example of the 'Stored Materials' setting on the Project level Invoicing tool.
If you turn this setting ON mid-project, an informational message informs you how changing the setting affects your existing contracts. The user making the change must click Update to acknowledge the prompt.
Review this example to learn how to bill for stored materials on invoices when a contract is configured to use the 'Amount-Based' accounting method.
For the contract's first invoice, the value in the New Materials Stored column is always set to $0.00 by default. Since the subcontractor received materials on-site during this billing period, the invoice contact enters $2,000.00 in the New Materials Stored column (see 1). This represents the currency amount of the materials received. Once input, Procore automatically updates these values on the line item (see 2):
For the next billing period, the invoice contact prepares their second invoice. In all new invoices, the New Materials Stored column is always set to $0.00 by default (see 1). However, Procore automatically moves the value from the New Materials Stored column on the previous invoice to the Previous Materials Stored column on the current invoice (see 1 to 2). Before making additional data entry, note that the highlighted values (see 3) match the first invoice (above).
Next, perform some additional data entry on the line item.
For this entry, the subcontractor received an additional $2,500.00 in new materials that are now stored on the job site (or in a storage facility). The invoice contact enters $2,500.00 in the New Materials Stored column (see 1). After the entry, Procore automatically updates these values (see 2).
Next, half of the new materials stored on the first invoice were installed on the job site during the current billing period. To address this, the invoice contact takes $1,000.00 from the Previous Materials Stored column (see 1) and moves that $1,000.00 to the Work Completed this Period column (see 2).
After you change the entry in the Previous Materials Stored column, the system the system focus jumps to the Work Retainage This Period ($) column. This occurs if the invoice administrator enables the retainage setting on the commitment. To keep to the purpose of billing for stored materials, retainage data entry is not included in this example. However, documentation about retainage is available:
After moving the Previous Materials Stored amount to the Work Completed This Period column, Procore considers the entries to calculate these values:
For the next billing period, the subcontractor receives additional materials, the previously stored materials have been installed. The invoice contact creates their third invoice.
On the third invoice:
You can continue creating invoices and entering new line item entries until the Balance to Finish value on a line item reaches $0.00.
Learn how to bill for stored materials on invoices when a contract is configured to use the 'Unit/Quantity-Based' accounting method.
Before data entry, the quantity in the New Quantity column is set to 0 by default on the first invoice.
In this billing period, the subcontractor installed 100 units. An invoice contact enters 100 in the New Quantity column (see 1). Once input, Procore automatically updates the highlighted values on the line item (see 2):
Next, the quantity in the New Materials Stored (Qty) column is set to 0 by default on the first invoice. In this billing period, 50 units were stored on the job site. An invoice contact enters 50 in the New Materials Stored (Qty) column. This is the quantity of the materials received and stored on-site. Once input, Procore automatically updates the highlighted values on the line item (see 2):
For the next billing period, the invoice contact prepares their second invoice. In all new invoices, the New Quantity is 0 by default (see 1). The Previous Quantity shows the 'New Quantity' submitted on the first invoice (see 2) and the Previous Materials Stored (Qty) shows the 'New Materials Stored (Qty)' from the previous invoice (see 3).
Next, perform some additional data entry on the line item.
In this example, the subcontractor installed the 50 units previously stored on the previous invoice. The invoice contact updates the Previous Materials Stored (Qty) entry to 0 and moves that quantity (50) to the New Quantity column (see 1). The subcontractor also received 100 additional units, placing them all into storage. The invoice contact enters 100 in the New Materials Stored (Qty) column (see 2).
Once input, Procore automatically updates the highlighted values on the line item (see 3):
For the next billing period, the invoice contact prepares their second invoice. In all new invoices, the New Quantity is 0 by default (see 1). The Previous Quantity shows the 'New Quantity' submitted on the previous invoice (see 2) and the Previous Materials Stored (Qty) shows the 'New Materials Stored (Qty)' from the previous invoice (see 3).
Next, perform some additional data entry on the line item.
In this example, the subcontractor installed 50 of the units previously stored on the previous invoice. The invoice contact updates the Previous Materials Stored (Qty) entry from 100 to 50 and moves the quantity (50) to the New Quantity column (see 1). The subcontractor also received 50 additional units, placing them all into storage. The invoice contact enters 50 in the New Materials Stored (Qty) column (see 2).
Once input, Procore automatically updates the highlighted values on the line item (see 3):
Yes. To bill for stored materials using the methods described, you must opt-in to the modernized experience for owner invoices and subcontractor invoices. To learn more, see About Owner Invoices and About Subcontractor Invoices.
To learn more about owner invoices, see these links: