Accounts payable for construction companies
Last updated: 24 October 2026 — ininvoice team
If you head admin
The 6 typical AP pain points in construction with their regulatory basis.
If you are the site manager
How invoice, purchase order and delivery note line up when the work is subcontracted.
If you are the GM
ROI with concrete numbers: 600 invoices/month, 12 simultaneous projects.
A construction SME with 12 simultaneous projects receives between 400 and 800 invoices per month. Subcontractors, materials, machinery rental, transport, workshops, engineering, waste management, utilities. Each invoice must be allocated to a specific project, reconciled against its PO or its certification, have the personal income tax withholding calculated where applicable, the reverse charge validated where relevant, the traceability preserved and only then written into the ERP. Doing it by hand is the scenario this guide describes first. Automating it is the second.
The sector also has an operational quirk no other vertical replicates with the same intensity: invoices do not arrive at month-end. They arrive continuously during project execution, during admin close-out and during the two following months for final adjustments, snags and final certifications. Without a system that allocates them correctly, they end up booked against the wrong project and the real cost of each project becomes distorted. And with it, the calculated profitability.
What makes construction billing special
Summarizing the sector as "lots of invoices" misses the point. What sets construction AP apart is the simultaneous combination of variables that appear in isolation in other sectors.
Subcontractors as the cost core
Between 40% and 70% of a construction project's cost in Spain is executed via subcontractors: structure, envelope, MEP, finishes, landscaping. Each subcontractor is a recurring vendor with its own contract, its own measurements and a monthly or bi-weekly certification calendar. The invoice is not issued against a closed PO; it is issued against the certified progress.
Progress certifications
A certification is the valued measurement of work executed during a period. The site manager signs it. The contractor submits it. The developer validates it. The invoice follows the certification with the previously agreed amounts, deducting the prior certification. Reconciling the invoice with the certification is a three-way matching where the "delivery note" is the signed record of work executed, not a goods delivery note.
Personal income tax withholding on self-employed subcontractors
Under the Personal Income Tax Law (Law 35/2006) and its regulation, the withholding depends on the subcontractor’s activity: 15% on the taxable base for professional activities (7% in the year the activity starts and the two following years), 1% for business activities taxed under the modules (objective estimation) scheme, the usual case for small construction trades, and none for business activities under direct estimation. The payer withholds at invoice time, pays it through quarterly form 111 and reports it annually on form 190. The net amount paid to the subcontractor is base + VAT – withholding. Calculating it by hand for every invoice is a frequent source of error.
Reverse charge
Article 84.One.2.f of Spanish Law 37/1992 on VAT establishes the reverse charge for construction works executed between businesses, whether contractors or subcontractors, arising from contracts directly formalized between developer and contractor or between contractor and subcontractor. The subcontractor invoice carries no output VAT. The recipient self-assesses VAT on form 303 (output VAT line and input VAT line simultaneously). Intra-EU material purchases follow a similar self-assessment regime. The AP system must identify these operations so the approved invoice reaches the ERP with the right VAT treatment.
On-account advances
Before starting a project it is common to pay an advance to the subcontractor (typically 10%-20% of the contract). That advance is deducted proportionally from each subsequent certification. Manual tracking of advanced vs amortized balance is prone to errors and the subcontractor does not always remember it. ininvoice does not track advances; the running advance balance is kept in the ERP or the project software.
Deviations from site unknowns
A construction project is a unique work executed in a unique location. Unexpected geotechnical findings, regulatory changes, client modifications, material substitutions due to supply shortages. Deviations from the initial budget are not pathology, they are the norm. The difference between a profitable construction company and an unprofitable one is whether deviations are documented via change orders or quietly slip through invoices larger than the PO.
Milestone-based payments
Payment is usually tied to milestones: foundations complete, structure done, MEP wrapped, project handover. Invoices accumulate between milestones and payment is released when the milestone is validated. Without a system that maintains the invoiced vs paid balance per project, control happens manually in a spreadsheet that ages badly.
The 6 typical AP pain points in construction
Any admin or site manager in a construction company recognizes the following six as recurring. This section describes them with their regulatory or operational basis so the conversation with the tax advisor and with the ERP can be precise.
1. Subcontractor withholding
The self-employed individual subcontractor's invoice arrives with the withholding applied on the taxable base: 15% for professional services, 1% for trades under the modules scheme. If it is wrong (incorrect amount, incorrect base, subject who should not be withheld), the payer is jointly liable to the Spanish tax authority for the correct payment. The AP system must verify the withholding calculation before the invoice is approved. The typical manual error is calculating the withholding on base + VAT instead of on the taxable base.
More on this in the blog article about 15% withholding on subcontractors.
2. Progress certifications vs final billing
The subcontractor submits monthly certifications by progress. At project close there is a final certification that adjusts differences (real vs projected measurements, unexecuted items, additional items). The difference between the sum of partial certifications and the final certification can be positive or negative. Matching must contemplate this adjustment explicitly; you cannot reconcile "invoice against full contract" because billing is in chunks.
3. Reverse charge VAT
It applies in two scenarios: construction works executed between businesses under article 84.One.2.f Spanish VAT Law, and intra-EU material acquisitions. The invoice arrives with no output VAT. The scenario has to be identified so that, in the ERP, the operation is booked as reverse charge with output and input VAT recorded simultaneously and form 303 reconciles. Confusing a reverse-charge invoice with a no-VAT invoice by clerical error is one of the typical findings in a tax audit.
4. Site unknowns: invoices with deviations >10%
A construction company with budget discipline tolerates deviations up to 2-3% over the initial PO. Beyond that range, the invoice should be blocked until a documented change order exists, signed by the site manager and by management. In manual flows, invoices with 5-15% deviations get approved because "the difference is small" when looking at the total. Looking line by line, a 15% deviation on a line item that accounts for one third of the PO is a significant overpayment.
Pre-tax, line-by-line three-way matching as described in the three-way matching guide is the right tool to classify variance, not to suppress it.
5. Retention bonds
The contract with the subcontractor usually sets an additional retention bond (typically 5%) released after final project handover and the contractual warranty period (normally 12 months). That retention is not the withholding tax, it is contractual, and it accumulates in a liability account until released. Without a record per project and per subcontractor, releases get forgotten or executed twice. ininvoice does not track retention bonds; that balance lives in the ERP.
6. Legal payment terms vs real-world 90-120 days
Article 4 of Spanish Law 3/2004 on late payment sets a payment term of 30 days from receipt of the goods or services between businesses, which the parties can extend by agreement up to a maximum of 60 days. The sector's historical practice has been 90-120 days, with known consequences for the network of SME subcontractors. Reducing the internal approval cycle (from the usual 6-14 manual days to hours) does not fix the payer's treasury decision, but it removes the "not approved yet" excuse and leaves the payment calendar to a conscious decision, not the admin bottleneck.
How to automate subcontractor reconciliation
The concrete workflow for a subcontractor invoice on an active project, described step by step. It is the most complex case in the sector: if the system can solve it, the rest of the flow (materials, rentals, utilities) is trivial by comparison.
1. Ingestion from the email inbox
OAuth connection to the admin or project inbox. The system reads incoming emails, identifies those containing invoices (a PDF attachment or an image such as a phone photo or scan) and extracts the files. Never modifies or deletes. Ingestion is continuous: an invoice sent by a subcontractor at 6:00 PM is available in the system within minutes.
2. Supplier identification
The system recognizes the subcontractor's tax ID and links the invoice to that supplier. ininvoice does not assign a project, site or cost centre; that allocation is done in the ERP.
3. Line extraction and withholding validation
OCR and IDP extract the lines: description, unit of measure, quantity, unit price, base, VAT applied (or absent if reverse charge), withholding applied. The system verifies that the withholding is calculated on the taxable base and at the expected rate (15% for professional activities, 1% for trades under modules, none under direct estimation). If the calculation does not match, the invoice is flagged as an exception.
4. Matching against purchase order and delivery note
The system locates the purchase order for the subcontracted work and, where there is one, the delivery note. It reconciles line by line, pre-tax: invoiced units vs ordered and received units, PO unit price vs invoiced unit price. ininvoice does not read the subcontracting contract or the progress certification; checking the invoice against the signed certification stays with the site manager.
5. Base, VAT and withholding validation
The system checks the base, the VAT (or its absence under reverse charge) and the withholding the invoice applies. The result is shown to the approver line by line, not as a single aggregate total. Advance amortization and contractual retentions are not calculated by ininvoice.
6. Approval by a person
A person reviews the invoice, the reconciled lines and any flagged variance, and approves or rejects it with a comment that goes to the audit trail. Before that, the site manager confirms the technical side (yes, the work has been executed according to the certification) and admin checks the administrative aspects: correct withholding, reverse charge where applicable, and whether the subcontractor’s IBAN matches previous invoices (classic anti-fraud control).
7. Accounting in the ERP
The approved invoice is exported as a CSV or Excel file importable into the ERP, with base, VAT, withholding and due date; project allocation is done in the ERP.
How to split sign-offs by amount (your company's policy; in ininvoice every invoice is approved by a person) is described in the guide about automating supplier invoice approval.
Three-way matching applied to construction
Traditional three-way matching reconciles invoice vs PO vs goods receipt. In construction the three documents change nature depending on the operation. The table below summarizes the four variants that appear on any project.
| Operation | PO (what was agreed) | Delivery note (what was received) | Invoice |
|---|---|---|---|
| Material to site | PO to the supplier with quantities and prices | Delivery note signed by the foreman | Material supplier invoice |
| Subcontracting by certification | Subcontracting contract with measurements | Progress certification signed by the site manager | Subcontractor invoice |
| Machinery rental | Rental contract with rate and term | Signed timesheet of usage hours | Rental company invoice |
| Professional services (engineering) | Professional engagement with fees | Signed deliverable (drawings, reports) | Professional invoice |
ininvoice matches the invoice against a purchase order and a delivery note. Where the agreement is a contract, a certification, a timesheet or a signed deliverable, ininvoice does not read it: that check stays with whoever signed it, or the agreed figures go on a purchase order.
Variance formulas
The system calculates two variances per line, always on pre-tax unit prices:
- price_variance = (invoice_unit_price − po_unit_price) × invoice_qty
- qty_variance = (invoice_qty − po_qty) × po_unit_price
Default tolerances are 1.50 EUR absolute or 2% relative, OR combinator (the line is variance if either of the two dimensions is exceeded). The comparison is strict: a value exactly equal to the threshold is within tolerance. Any line out of tolerance generates a variance classified by cause: price, quantity, new line item, VAT, withholding.
Why pre-tax
Comparing totals with tax included mixes the variance of the real operation with the variance of the tax rate. The same material can carry 21% or 10% VAT depending on the type of project (rehabilitation of primary residence vs new build); the reverse charge changes the presence or absence of VAT depending on the subject. If the comparison is on totals, the reading is confusing. Pre-tax, line by line, the reading is precise.
Extended argument in matching by totals is a trap and in the supplier invoice control guide.
Special case: cumulative certifications
The month 3 progress certification does not invoice only month 3's work; it invoices the cumulative executed as of month 3 minus what was already invoiced in prior certifications. Matching must work on the delta, not on the cumulative. It is a simple arithmetic detail but conceptually important: the running account per subcontractor and per project is kept in the ERP or the project software; ininvoice does not keep it.
Want to see it with your company's documents? I will show you how each line is matched against its purchase order and delivery note. Request a demo with your own invoices
Tax compliance: Verifactu and construction
Construction companies are affected by Verifactu both on the issuing side (when invoicing the developer or final client) and on the receiving side (when receiving invoices from suppliers under Verifactu). Royal Decree-Law 15/2025 set the staggered rollout calendar. The operational details on the receiving side are developed in Verifactu for paying companies.
On the issuing side
The construction company that bills the developer (certifications, final handover, final settlement) must issue under an invoicing IT system compliant with Royal Decree 1007/2023 if volume and activity require it. The issued invoice includes the QR code and chained hash.
On the receiving side
The construction company that receives invoices from subcontractors and suppliers under Verifactu must be able to:
- Verify the QR against the Spanish tax authority (optional but recommended external validation).
- Preserve the chained hash as auditable evidence.
- Record receipt date and time for payment-term computation.
- Preserve the document during the tax statute of limitations (4 years under art. 66 of the General Tax Law) and for 6 years for commercial purposes (art. 30 of the Commercial Code).
ininvoice records the receipt date and time on ingestion, preserves the original invoice and keeps an auditable trail exportable for audit. Verifying the QR against the Spanish tax authority is an optional external step and stays outside ininvoice.
Constructed example (synthetic data): developer with 12 simultaneous projects, 600 invoices/month
Constructed example with synthetic data, built from the typical profile of a Spanish property developer. It does not describe any specific company or measured results.
Profile
- Developer with 12 active projects across 4 provinces.
- 600 invoices received per month on average. Peaks at 850 in quarter-end.
- 45 regular subcontractors, 70 recurring material suppliers, 30 occasional ones.
- Admin team: 3 full-time people.
- ERP: Sage 200 Advanced Construction.
Previous manual flow
Of the 600 monthly invoices, 480 reconcile without incidents and 120 present some kind of deviation or anomaly. Average time per clean invoice is 9 minutes (open, read, find the PO or certification, compare, key into ERP, file). Those with deviations consume between 25 and 60 minutes each. Monthly total: 480 × 9 min + 120 × 40 min = 4,320 + 4,800 = 9,120 minutes, i.e. 152 hours. Equivalent to 95% of a full-time role just approving invoices.
What the control would flag in a month like this (example figures)
- 23 invoices with unit-price deviation above 5% versus PO. Aggregate variance amount: 4,700 EUR.
- 4 duplicate invoices (same subcontractor, same certification, two separate sends). Amount: 11,300 EUR.
- 11 invoices with miscomputed withholding (calculated on base + VAT instead of on the taxable base). Aggregate difference: 380 EUR.
- 2 invoices with output VAT wrongly charged on a reverse-charge operation. Obvious tax risk.
Integration with construction ERPs
ininvoice works with any ERP that imports CSV or Excel files. In the construction sector the usual destinations are the following.
Sage 200 Advanced Construction
The most widely deployed ERP in mid-size Spanish construction. Supports projects as an allocation dimension, measurements, certifications, subcontracting and machinery. ininvoice exports approved invoices with their base, VAT and withholding; the project is allocated in Sage. Sage flow details in Sage + supplier invoice control.
A3 ERP with sector modules
Common in accounting firms that run accounting for SME construction companies and developers. ininvoice exports approved invoices as a CSV or Excel file that A3 imports. Details in A3 + supplier invoice control.
Sector-specific Holded
For SME developers with light structures and smaller projects (up to 5-8 simultaneous). Lets you use labels and projects as a proxy for projects. ininvoice exports approved invoices as a CSV or Excel file that Holded imports.
Presto and Arquímedes
Classic measurement and budgeting tools in the sector. They are not accounting ERPs, but they are the source of measurements and certifications. ininvoice does not read them.
ininvoice does not replace the ERP. It sits between the email inbox and the ERP as a layer of ingestion, OCR, matching and approval.
ROI: how much you save by automating construction AP
The figures in this section use sector data for the average cost of processing an invoice manually: between 9 and 16 EUR per document in mid-size companies, vs less than 3 EUR per document in best-in-class companies.
Construction company with 600 invoices/month
| Item | Manual (range) | Best in sector (reference) |
|---|---|---|
| Cost per invoice | 9 – 16 EUR | < 3 EUR |
| Monthly cost (600 invoices) | 5,400 – 9,600 EUR | 1,800 EUR |
| Monthly saving | 3,600 – 7,800 EUR | |
| Annual saving | 43,200 – 93,600 EUR | |
Tailored pricing for your company: a proposal within 48 hours of seeing your invoices (annual volume, companies, ERP). No implementation fee. Annual contract. The proposal is weighed against the estimated annual saving in the table.
What does not appear in the table
The tabulated saving measures process cost only. Three additional items have direct monetary impact but are not included because they vary too much across companies:
- Overpayments avoided through line-by-line matching. In the example above, 4,700 EUR of aggregate price variance in a single month. Annualized, around 50,000 EUR for a 12-project construction company.
- Duplicates detected. 11,300 EUR in one month in the example. Duplication rate in construction typically 1.5%-3% of received invoices, driven by the practice of resending certifications.
- Financial cost of admin delay. Cutting the internal approval cycle from 6-14 days to hours removes the delay excuse and improves the relationship with SME subcontractors, who are the most sensitive to payment terms.
The extended and customizable calculation is available in the ROI calculator.
Frequently asked questions
Why is construction billing more complex than distribution or retail?
Because it combines four variables that retail does not have: self-employed subcontractors with personal income tax withholding, progress-based work certifications that are billed partially, reverse charge VAT in real-estate operations and intra-EU material purchases, and recurring deviations versus the initial purchase order driven by site unknowns. A construction company with 600 monthly invoices manages 12 to 30 simultaneous projects, each with its own budget, subcontractors and material line items.
How do you apply three-way matching when the invoice is from a subcontractor instead of a material supplier?
In ininvoice the match is always against a purchase order and a delivery note. If the subcontracted work is ordered with a PO, the subcontractor’s invoice is compared with it line by line (units and unit price, pre-tax), and the base, VAT and withholding the invoice applies are checked. ininvoice does not read the subcontracting contract or the progress certification: checking the invoice against the signed certification stays with the site manager, and a person approves the invoice.
What withholding rate applies to construction subcontractors and where is it regulated?
It depends on the subcontractor’s activity, under the Personal Income Tax Law (Law 35/2006) and its regulation: 15% on the taxable base for professional activities (7% in the year the activity starts and the two following years), 1% for business activities taxed under the modules (objective estimation) scheme, the usual case for small construction trades, and none for business activities under direct estimation. Construction additionally has the reverse charge regime governed by article 84.One.2.f of Spanish Law 37/1992 on VAT for construction works executed between businesses. Always check with your tax advisor.
What is the reverse charge in construction and when does it apply?
The reverse charge shifts the obligation to declare and pay VAT onto the recipient. In construction it applies in two cases: works executed between businesses arising from direct contracts between developer and contractor or between contractor and subcontractor (art. 84.One.2.f Spanish VAT Law), and intra-EU acquisitions of materials. The subcontractor invoice carries no output VAT and the developer self-assesses VAT on form 303.
How do you handle an invoice with a deviation versus the PO due to site unknowns?
The system detects the variance line by line, classifies it (price, quantity, new line item) and holds it with the reason visible for the site manager to validate. If the deviation is justified (geotechnical finding, regulatory change, client modification), the change is documented, for example with a change order or an updated purchase order, before a person approves the invoice. The invoice is only approved when the modification is documented; it is not approved "because the difference is small" the way it happens in manual flows.
Does Verifactu affect construction companies?
Yes, both as issuer and as receiver. As a payer, from the calendar set in Royal Decree-Law 15/2025 invoices from suppliers under Verifactu arrive with QR and chained hash verifiable against the Spanish tax authority. The receiver's obligation is to preserve the traceability of the received invoice. ininvoice records the receipt date and time, preserves the original invoice and keeps an auditable trail; verifying the QR against the tax authority stays an optional external step. Details in Verifactu for paying companies.
Which construction ERPs integrate with ininvoice?
ininvoice works with any ERP that imports CSV or Excel files. In construction the usual destinations are Sage 200 Advanced Construction, A3 ERP with sector modules and Holded with project templates. The AP automation layer sits between the email inbox and the ERP: ingestion, OCR, three-way matching, withholding check and approval by a person, and then it exports the approved invoice as a CSV or Excel file the ERP imports; project allocation is done in the ERP.
How much can you save by automating AP at a construction company with 600 invoices per month?
The average cost of manually processing an invoice is between 9 and 16 EUR per document. For 600 monthly invoices that is between 5,400 and 9,600 EUR per month in process cost. Best-in-class companies stay below 3 EUR per invoice, i.e. 1,800 EUR/month for the same volume. The monthly saving lands in the 3,600 to 7,800 EUR range, not counting undetected overpayments from site deviations or the financial cost of late payments.
Every invoice, matched before it is allocated to its project
Tailored pricing · proposal within 48 hours of seeing your invoices · no implementation fee.
This page describes the operational behavior of the product as of the update date. The savings figures come from sector cost data. Regulatory references (Spanish Law 35/2006, Law 3/2004, Law 37/1992, Royal Decree 1007/2023, Royal Decree-Law 15/2025) should be verified with a tax advisor before configuring automated rules in production.
Related content
- Three-way matching: where overpayments hide
- Automating invoice approval
- Supplier invoice control
- Verifactu for paying companies
- AP automation in construction and subcontracting (blog)
- 15% subcontractor withholding (blog)
- Sage + supplier invoice control
- A3 + supplier invoice control
- Distribution + accounts payable
- Hospitality + accounts payable
- ROI calculator
- Tailored pricing