EN
Back to the archive

The encyclopedia · Strategy & Leadership · Strategic decision · 2009–2026

Peru let companies build public works and pay their taxes with the bill

Peru's Works-for-Taxes scheme lets firms pre-finance public infrastructure and recover it from income tax; 1,406 projects worth S/22.4bn by mid-2026.

PROINVERSIÓN · Government of Peru

The solution

Peru's regional and local governments often struggled to turn budgets into finished schools, roads and hospitals. Since the mechanism's implementation in 2009, Works-for-Taxes has let private companies pre-finance and build prioritized public projects, recovering their outlay through income-tax credits.

PROINVERSIÓN, the private-investment promotion agency, manages the pipeline. From 2009 to June 2026, 1,406 interventions worth S/22,384 million were awarded, with 466 companies participating; the first half of 2026 alone set a record of S/5,266 million across 204 public entities and 273 firms.

The design converts idle corporate tax liabilities into on-time public works and shifts delivery risk to firms with construction capability; regional governments took 48-55% of recent adjudicated amounts, concentrating impact outside Lima.

Why it worked

  • Companies recover investment via taxes, so payment is guaranteed.
  • Private construction capacity is unlocked for public priorities.
  • Projects are selected by public entities, keeping control public.
  • The model has scaled from a trickle to record annual awards.
What it achievedLet tax bills become public infrastructureinspired

What can be applied

If government lacks capacity but companies owe taxes, let the two settle in infrastructure: the tax system becomes both the incentive and the payment guarantee.

Aftermath

The scheme kept accelerating: January-April 2026 hit a record S/3,276 million in 196 adjudications, 6.3 times the same period in 2025, and an October 2025 law change ('OxI 360') expanded PROINVERSIÓN's role across the full project cycle to draw in more companies.

Sources

spotted an error? The archive wants to know.

Related cases