Contracting invoicing application

Progress billing, advances, retention, and deductions in one controlled workflow

BOT Solutions' Frappe-based application connects contracting commercial logic with invoice documents and configured Saudi e-invoicing workflows.

Beyond a standard invoice

Built around how contracting payments actually move

Contracting invoices often need to represent advances, measured progress, contractual retention, and several deductions before the amount payable is clear.

Progress billing

Prepare invoices around agreed work progress and the commercial structure of the project.

Advance payment invoicing

Issue the tax invoice required when a mobilization or customer advance is received.

Advance recovery

Allocate and recover the advance through later progress invoices rather than treating it as an unrelated transaction.

Retention management

Calculate contractual retention within the invoice workflow and preserve the amount for later handling.

Deductions and penalties

Represent retention, advance recovery, penalties, taxes, and other project deductions in the calculation.

Multi-currency scenarios

Support relevant foreign-contractor and project invoicing scenarios where multiple currencies are part of the agreed implementation.

Controlled document flow

From project calculation to invoice submission

01

Capture project values

Record progress, advances, retention, deductions, and the applicable invoice scenario.

02

Calculate the payable amount

Apply the configured commercial logic before the invoice document is finalized.

03

Generate documents

Use the configured reports and print formats required for the implementation.

04

Submit and review

Submit supported invoice documents through the configured ZATCA workflow and review the response.

Delivered application capabilities

The recorded implementation includes four script reports, five print formats, supported 386/388/383 XML document scenarios, and a “Submit to ZATCA Now” action that can bypass the background queue when an authorized user needs immediate submission. Final behavior depends on configuration, document scenario, onboarding, source data, and current ZATCA requirements.

FAQ

Contracting invoicing questions

How is an advance recovered?

The advance is first represented by the applicable tax invoice, then allocated and recovered through later progress invoices according to the configured project workflow.

Which deductions can be handled?

The confirmed scenarios include retention, advance recovery, penalties, taxes, and other project deductions.

Does the application guarantee ZATCA acceptance?

No. The application supports configured invoice and XML workflows, but production acceptance also depends on onboarding, source data, certificates, configuration, and current authority requirements.