This the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Project Subcontracting

Learn how to manage subcontractor relationships through statements, self-billing invoices, and project-related automation.

Project Subcontracting in Business Central enables accurate tracking, invoicing, and validation of subcontracted project work. This includes:

  • Logging subcontractor usage from journals, time sheets, and expense sheets
  • Creating subcontractor statements
  • Generating self-billing invoices
  • Matching vendor invoices with statements
  • Producing formatted statement reports

There are two supported processes for handling subcontractor billing:

  • Self-billing allows you to generate purchase invoices based on approved subcontractor statements. This ensures internal control over invoicing and simplifies the payment workflow.
  • Invoice matching is used when subcontractors send their own invoices, and you want to validate them against recorded project usage. It helps confirm that the invoiced amount aligns with approved work and allows for tolerance-based checks.
    Both methods ensure accurate financial tracking and prevent duplicate billing for the same work.

This documentation covers each part of the process, from setup to automation.

1 - Subcontractor Usage Tracking

Learn how subcontractor usage is tracked across journals, time sheets, and expense sheets.

Subcontractor usage can be recorded through project journals, time sheets, and expense sheets, with automatic linking to the subcontractor vendor based on the resource setup.

Project Journal Lines

You can use job journals to manually enter subcontractor-related work:

  1. Open Job Journal.
  2. Fill in fields like Project No., Project Task No. and select a Resource.
  3. If the resource has a Subcontractor Vendor No., it will auto-fill on the journal line.
  4. Post the journal to create Project Ledger Entries with the vendor link.

Business Central Time Sheets

When recording time through standard BC time sheets:

  • Assign a subcontractor resource on a Project-type time sheet line.
  • When posted, the Subcontractor Vendor No. flows into the ledger entry.

Progressus Time Sheets

In Progressus Time Sheets:

  • Submit time entries for a subcontractor resource.
  • Posting the time sheet creates the ledger entries with the info about the subcontractor.

Progressus Expense Sheets

To track Progressus subcontractor-related expenses:

  • Enter expenses for a subcontractor resource in a Progressus Expense Sheet.
  • Posting the expense sheet creates the ledger entries with the info about the subcontractor.

Summary

Subcontractor usage entered through journals, time sheets, or expense sheets is automatically linked to the subcontractor vendor using the setup on the resource. This ensures all project costs are properly tracked and attributed to the correct vendor.

2 - Subcontractor statements

Learn how to collect unpaid project usage into subcontractor statements for invoicing or validation.

Subcontractor Statements group unpaid project usage for a vendor and a period. They’re used as a basis for self billing or invoice validation.

When to use it

Use subcontractor statements when:

  • You need to summarize subcontracted work before processing payment.
  • You intend to generate a self-billing invoice for recorded project usage.
  • You want to compare an incoming vendor invoice with recorded usage.

How to create a statement

  1. Choose the 🔎 icon, enter Subcontractor Statements, and select the related link.

  2. On the statement page, fill in the following fields:

    • Document Date
    • Period Start and Period End
    • Subcontract Vendor No.

    Vendor and currency info are auto-filled.

  3. Choose Get project entries

  4. A list of eligible unpaid project ledger entries will appear. The system includes entries that:

    • Match the vendor and date range
    • Not be assigned to another subcontractor statement.
  5. Select the entries to include and choose Close.

The selected entries are now linked to the statement. The system does not create new entries but assigns the Subc. Stmt. No. field on each ledger entry.

Remove lines from a statement

  • To remove a line from a statement:
    1. Select one or more lines
    2. Choose Delete Line.

This action clears the Subc. Stmt. No. field on the project ledger entries but does not delete the entries themselves. The total amount on the statement is recalculated automatically.

To print or export a formatted version of the subcontractor statement:

  • Choose Print on the statement page.
  • The report summarizes header and line details for distribution or record-keeping.

Statement status

  • Open — still editable
  • Approved — ready for invoicing or matching
  • Closed — finalized after invoice is posted

After the invoice is posted, the statement status changes to Closed. This prevents further modifications and ensures accurate financial tracking. Closed statements can be found in the Closed Subcontractor Statements list.

Batch creation of statements

You can automate the creation of subcontractor statements by running the Create Subcontractor Statements batch job. From the Subcontractor Statements page, choose the action and specify the required parameters, such as document date, period start, and period end.

Optionally, enable the Create empty statements setting to generate statements for subcontractors with no recorded usage during the selected period. The system creates a new statement for each subcontractor that meets the criteria, excluding those that already have a statement for the specified period. When complete, a summary message confirms how many statements were created.

3 - Create self billing invoices

Learn how to generate self billing purchase invoices from subcontractor statements.

Self billing lets you create a purchase invoice on behalf of a subcontractor, using data from an approved Subcontractor Statement. This ensures accurate billing for recorded project work, without waiting for the vendor’s invoice.

When to use it

Use this functionality when:

  • The subcontractor does not submit an invoice.
  • The Subcontractor Statement has a status of Approved.

Create a self billing purchase invoice

  1. 🔎 Go to Subcontractor Statements
  2. Select an Approved statement
  3. Choose Create Purchase Invoice
  4. Confirm filters and click OK

Pre-filled fields and currency logic

The purchase invoice header is auto-filled with vendor details, statement period, and document dates. The language code from the vendor card is also applied.

The invoice lines include a summary line with the billing period and detailed lines for each project ledger entry included in the statement.

If any project ledger entry uses a different currency than the invoice, the system automatically converts the amounts to the invoice currency using the current exchange rate set.

Self-billing Agreement Validation

To comply with tax regulations (e.g., in the UK), a valid self-billing agreement must exist between the customer and subcontractor before generating self-billing invoices.

Setup

  • In Purchase & Payables Setup, enable Require Self Billing Agreement.
  • On the Vendor Card, set the Self Billing Agrmt. End Date.

Behavior

  • If the date is missing or in the past, the system prompts the user before allowing invoice creation.
  • If the date is valid (in the future), the invoice is created normally.

After posting

Once the invoice is posted:

  • The Subcontractor Invoice No. is recorded on all related project ledger entries.
  • The Subcontractor Statement is set to Closed and becomes read-only.
  • The statement can no longer be found in the Subcontractor Statements list, but is available in the Closed Subcontractor Statements list for historical reference.

4 - Match subcontractor statements to invoices

Learn how to match incoming purchase invoices with subcontractor statements and validate amounts using tolerance settings.

Matching purchase invoices with approved Subcontractor Statements ensures that subcontractors are paid accurately and only for confirmed project work. This process is especially useful when subcontractors issue their own invoices instead of using self billing.

The system allows you to link a vendor invoice to a subcontractor statement, compare amounts, and automatically detect discrepancies based on a configured tolerance. This improves financial control and ensures that invoicing aligns with recorded project usage.

When to use it

Use invoice matching when:

  • The subcontractor submits their own invoice instead of using self billing.
  • You want to verify the invoice against an Approved Subcontractor Statement.
  • You need visibility and control over discrepancies before posting the invoice.

How to match a subcontractor statement to a purchase invoice

  1. Open the purchase invoice for the subcontractor.
  2. Enter the subcontractor statement number in the Your Reference field. Alternatively, use the lookup on the Subcontractor Statement No. field to manually select the correct statement.
  3. If a matching approved statement is found:
    • The Subcontractor Statement No. field is auto-filled.
    • The system compares the invoice total with the statement amount.
  4. Based on the comparison:
    • If the amounts are within the configured tolerance the match status is set to Full Match.
    • If the difference exceeds the tolerance the match status is set to Partial Match.
  5. If necessary, you can manually override the match result by updating the Match Status field.

The system evaluates match status automatically and updates it as values change.

After posting

Once the invoice is posted:

  • The Subcontractor Invoice No. is written back to all related Project Ledger Entries.
  • The Subcontractor Statement is set to Closed and becomes read-only.