Multi-Currency Support (Coming Soon)
TMS supports displaying shipment amounts in multiple currencies on carrier and customer documents. You can configure a preferred currency per carrier and per customer, and use system tags in your document templates to automatically convert and display amounts in the configured currency.
Supported currencies: USD (default), CAD, MXN. Exchange rates are refreshed automatically every night, no manual updates are needed.
Setting a Carrier's Preferred Currency
The preferred currency for a carrier is configured on the LSP Carrier Profile, in the Accounts Payable section.
- Navigate to LSP → Carriers and open the carrier record.
- Click Edit.
- In the Accounts Payable section, locate the Currency dropdown.
- Select USD, CAD, or MXN.
- Save the carrier profile.

This currency setting is used when FOREX tags appear on carrier-facing documents such as carrier confirmations and bill documents.
Setting a Customer's Preferred Currency
The preferred currency for a customer is configured on the Customer Accounting Profile. This setting is only available at the Customer level (not the LSP or branch level).
- Navigate to the customer record in the Back Office.
- Open the Accounting Profile.
- Locate the Currency dropdown.
- Select USD, CAD, or MXN.
- Save the profile.

This currency setting is used when FOREX tags appear on customer-facing documents such as invoices, AR statements, and rate quotes.
Using Currency Tags in Document Templates
TMS provides a set of FOREX system tags that convert USD amounts into the carrier's or customer's configured currency. These tags can be used in:
- Carrier Confirmations
- Customer Invoices
- AR Statements
- Consolidated Invoices
- Rate Quotes
- Email Templates
- Internal Alert Emails
- Generated PDF Documents
- Send Message Templates
If no preferred currency is set on the carrier or customer profile, all FOREX tags default to USD.
Available Tags
How exchange rates are determined: By default, all FOREX tags use the exchange rate for the shipment's pickup ready date. You can override this by supplying a specific date tag as a second parameter — for example, the invoice date or bill date. The system looks up the most recent cached rate on or before the date provided.
Example: [FOREX_LOCAL_CURRENCY([TOTAL_SELL], [INVOICE_DATE])] — converts the sell total using the exchange rate on the invoice date instead of the pickup ready date.
[FOREX_LOCAL_CURRENCY_CODE]
Outputs the currency code label (e.g., CAD, MXN, USD). Use this anywhere you want to identify the currency without converting an amount.
Example output: CAD
[FOREX_LOCAL_CURRENCY([AMOUNT_TAG])]
Converts the given amount tag to the configured currency using the exchange rate for the shipment's pickup-ready date. This is the default behavior when no date is specified.
Example: [FOREX_LOCAL_CURRENCY([TOTAL_SELL])] Example output: 2,070.00 (if $1,500.00 USD × 1.38 CAD on pickup ready date)
[FOREX_LOCAL_CURRENCY([AMOUNT_TAG], [DATE_TAG])]
Converts the given amount tag using the exchange rate on a specific date, overriding the default pickup ready date. The system looks up the most recent cached rate on or before the date provided.
Example: [FOREX_LOCAL_CURRENCY([TOTAL_BUY], [BILL_DATE])]
Example output: 1,596.00 (if $1,200.00 USD × 1.33 CAD on bill date)
If the date tag does not resolve to a valid date, the system falls back to the shipment pickup ready date.
[FOREX_LOCAL_CURRENCY([AMOUNT_TAG], [DATE_TAG], true)]
Same as above, but appends the currency code to the output. Use this on documents that show both carrier and customer amounts so each value is clearly labeled.
Example: [FOREX_LOCAL_CURRENCY([TOTAL_SELL], [INVOICE_DATE], true)]
Example output: 2,025.00 CAD
Full Tag Reference
| System Tag | Rate Used | Example Output (USD→CAD) |
|---|---|---|
[FOREX_LOCAL_CURRENCY_CODE] |
— | CAD |
[FOREX_LOCAL_CURRENCY([TOTAL_SELL])] |
Rate on pickup ready date | 2,070.00 |
[FOREX_LOCAL_CURRENCY([TOTAL_SELL], [PICKUP_READY_DATE])] |
Rate on pickup ready date | 2,070.00 |
[FOREX_LOCAL_CURRENCY([TOTAL_BUY])] |
Rate on pickup ready date | 1,656.00 |
[FOREX_LOCAL_CURRENCY([TOTAL_BUY], [PICKUP_READY_DATE])] |
Rate on pickup ready date | 1,656.00 |
[FOREX_LOCAL_CURRENCY([INVOICE_AMOUNT_TOTAL])] |
Rate on pickup ready date | 2,070.00 |
[FOREX_LOCAL_CURRENCY([INVOICE_AMOUNT_TOTAL], [INVOICE_DATE])] |
Rate on invoice date | 2,025.00 |
[FOREX_LOCAL_CURRENCY([BILL_AMOUNT_TOTAL])] |
Rate on pickup ready date | 1,656.00 |
[FOREX_LOCAL_CURRENCY([BILL_AMOUNT_TOTAL], [BILL_DATE])] |
Rate on bill date | 1,596.00 |
[FOREX_LOCAL_CURRENCY([TOTAL_SELL], true)] |
Rate on pickup ready date | 2,070.00 CAD |
[FOREX_LOCAL_CURRENCY([TOTAL_SELL], [PICKUP_READY_DATE], true)] |
Rate on pickup ready date | 2,070.00 CAD |
[FOREX_LOCAL_CURRENCY([TOTAL_BUY], true)] |
Rate on pickup ready date | 1,656.00 CAD |
[FOREX_LOCAL_CURRENCY([TOTAL_BUY], [PICKUP_READY_DATE], true)] |
Rate on pickup ready date | 1,656.00 CAD |
[FOREX_LOCAL_CURRENCY([INVOICE_AMOUNT_TOTAL], true)] |
Rate on pickup ready date | 2,070.00 CAD |
[FOREX_LOCAL_CURRENCY([INVOICE_AMOUNT_TOTAL], [INVOICE_DATE], true)] |
Rate on invoice date | 2,025.00 CAD |
[FOREX_LOCAL_CURRENCY([BILL_AMOUNT_TOTAL], true)] |
Rate on pickup ready date | 1,656.00 CAD |
[FOREX_LOCAL_CURRENCY([BILL_AMOUNT_TOTAL], [BILL_DATE], true)] |
Rate on bill date | 1,596.00 CAD |
Example: Carrier Confirmation Template
Total: $[FOREX_LOCAL_CURRENCY([TOTAL_BUY], [BILL_DATE])] [FOREX_LOCAL_CURRENCY_CODE]
Result (carrier set to CAD, buy rate $1,200 USD, bill date rate 1.33):
Total: $1,596.00 CAD
When to Use the true Parameter
Use true (append currency code) when a single document shows both carrier and customer amounts. This makes it clear which currency each value represents.
- Single-party document (e.g., customer invoice only): omit
true→2,040.00 - Combined document (carrier + customer amounts): use
true→2,040.00 CAD/1,632.00 CAD