Per-Project Currency
Every project carries its own currency and exchange rate. Catalog prices convert on the way in, and estimates, invoices, and proposals render in the project's currency.
Updated 2026-05-21
What this is
Your tenant has a default currency (set in Settings). Most projects inherit it. But if you're working in a different country, you can override currency on a per-project basis and supply an exchange rate. Catalog products added to that project get their cost converted at the rate you set, and every downstream document — line item totals, estimates, invoices, proposals, Excel exports — reflects the project's currency end-to-end.
Setting currency when you create a project
On the Create New Project page, the Currency dropdown sits right under Project Name. It defaults to Use tenant default (USD). Pick a different currency and the Exchange rate field appears below it.
The rate is one-directional, written as 1 USD = ___ EUR. So if 1 USD buys 0.92 EUR, you type 0.92.
Once you save, the project is in that currency.

The rate applies to catalog products you add going forward. It does NOT retroactively re-price items already on the project — and it doesn't convert values you type by hand (those are assumed to already be in the project's currency).
After line items exist — the lock
Once a project has any line items, the Currency dropdown on the Edit page is disabled. A banner explains why: changing currency on a populated project would mean re-converting every existing line item at a new rate, which is rarely what you want.
To change currency on a project that already has line items, use Duplicate Project with a different currency picked — that produces a new project with everything converted at your chosen rate, leaving the original untouched.
The Exchange rate field stays editable. Rate updates apply only to future additions, never retroactively.

Adding catalog products to a non-default project
When you add a catalog product to a EUR project at rate 0.92, the line item's Cost Each is stored as catalog_price × rate. A $1,000 catalog item becomes €920 on the project. Every total downstream (line item Sell, room subtotal, project total, generated documents) computes from that stored €920, so the numbers are consistent across every surface.
Typing a cost manually: what you type is what's stored. No conversion. If you click into the Cost Each field and type 750, the line is €750 — the system trusts you typed in the project's currency.
Per-project rates (Labor Rate, Programming Rate, Configuration Rate, etc.) on the Rates & Markup card show the project's currency code next to each input, so you know what you're typing in. Percentages (Tax Rate, Markup %, Shipping %) stay as percentages — they're currency-neutral.

Duplicating a project to a different currency
The Duplicate Project modal has a Currency picker and an Exchange rate field. When you pick a currency different from the source, a Conversion preview table appears showing how the first 50 line items will convert at your rate. Review the preview, then click Duplicate.
The new project lands with:
- Line item Cost Each and Price converted at your destination rate.
- Markup percentages preserved (they're currency-neutral).
- Labor rate, programming rate, configuration rate, freight, and per-room travel amounts cleared — re-enter them in the new currency.
- Tax rate and other percentages preserved.

Invoices and tax
Invoice line items are pre-tax. Below the line items, the invoice PDF renders Subtotal, Taxes, and INVOICE TOTAL as separate rows so the customer sees the breakdown. The tax rate comes from the project's Tax Rate setting at the time the contract was approved (the rate is snapshotted onto the contract, not read live).
The label next to the tax percentage adapts to the project's currency. A EUR project shows VAT. A Canadian or Indian project shows GST. A Japanese project shows Consumption Tax. A US project shows Tax. The word that prints matches what your region's customers expect to see on a B2B invoice.
For a EUR project with a €5,000 contract and 8.8875% tax, the invoice renders:
- Subtotal €5,000.00
- VAT (8.8875%) €444.38
- INVOICE TOTAL €5,444.38
Voided invoices don't count toward the Previously billed running total — the Billing Summary derives from non-voided allocations, so voiding cleanly rolls back the customer's running balance.
See Invoicing for the full invoice workflow.

What's not included
- Live FX feed. Exchange rates are the manual value you set on each project. The rate doesn't auto-update from any market source — matches how Procore and D-Tools work.
- Tenant-wide currency rollups. Project currency affects that project's documents only. There's no cross-project dashboard that converts EUR projects back to USD for company-wide reporting.
- Stripe billing for the platform. Your AVStackr subscription is invoiced in USD regardless of any project's currency.
- Locale formatting. Numbers render in English-style separators today (
€1,234.56rather than1.234,56 €). Locale-aware formatting is a separate setting that hasn't shipped yet.
