---
title: "Update Customer Billing"
method: PATCH
path: "/v2/tms/customers/{customer_id}/billing"
tags: ["v2", "tms", "customers"]
---

# Update Customer Billing

`PATCH /v2/tms/customers/{customer_id}/billing`

## Request

- Base URL: `https://api.mentium.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mentium.io/v2/tms/customers/{customer_id}/billing`
- Auth: HTTP bearer

Update customer billing currency

Path Parameters:
    - customer_id: Customer UUID

Query Parameters:
    - integration_connection_id: TMS integration connection ID (required)
    - billing_currency: Currency code - one of: USD, CAD, MXN (required)

Returns:
    Updated customer object with financial amounts converted to org's base currency

## Path parameters

- `customer_id` string, required

## Query parameters

- `integration_connection_id` string, required: TMS integration connection UUID
- `billing_currency` string, required: Billing currency (USD, CAD, MXN)

## Headers

- `mentium-workspace-id` string, nullable

## Response `200`

Successful Response

- CustomerSchema: Customer schema for OpenAPI documentation. This is the main TMS Customer object containing all customer details.
  - `id` string, required: Customer UUID
  - `organization_id` string, nullable: Organization UUID
  - `integration_connection_id` string, nullable: Integration connection UUID
  - `external_reference_id` string, nullable: External reference ID from TMS
  - `name` string, required: Customer name
  - `domain` string, nullable: Customer domain/website
  - `phone` string, nullable: Phone number
  - `fax_number` string, nullable: Fax number
  - `reference_number` string, nullable: Reference number
  - `billing_currency` string: Billing currency (USD, CAD, MXN)
  - `is_active` boolean: Whether customer is active
  - `is_parent` boolean: Whether customer is a parent account
  - `customer_type` string, nullable: Customer type (Enterprise, Mid-Market, Small Business)
  - `customer_team` string, nullable: Customer team assignment
  - `customer_division` string, nullable: Customer division
  - `ordered_by_id` string, nullable: Ordered by user ID
  - `ordered_by_name` string, nullable: Ordered by user name
  - `billing_address` AddressSchema: Reusable address schema for OpenAPI. Used by customers, carriers, contacts, and locations.
    - `id` string, nullable: Address UUID
    - `name` string, nullable: Address name/label
    - `street` string, nullable: Street address (alias for address_line1)
    - `address_line1` string, nullable: Street address line 1
    - `address_line2` string, nullable: Street address line 2
    - `city` string, nullable: City
    - `state` string, nullable: State/province
    - `postal_code` string, nullable: Postal/ZIP code
    - `country` string, nullable: Country
    - `full_text` string, nullable: Full formatted address
  - `primary_address` AddressSchema: Reusable address schema for OpenAPI. Used by customers, carriers, contacts, and locations.
    - `id` string, nullable: Address UUID
    - `name` string, nullable: Address name/label
    - `street` string, nullable: Street address (alias for address_line1)
    - `address_line1` string, nullable: Street address line 1
    - `address_line2` string, nullable: Street address line 2
    - `city` string, nullable: City
    - `state` string, nullable: State/province
    - `postal_code` string, nullable: Postal/ZIP code
    - `country` string, nullable: Country
    - `full_text` string, nullable: Full formatted address
  - `financial_summary` CustomerFinancialSummarySchema: Financial summary for a customer - revenue and margin statistics.
    - `total_revenue` number: Total revenue from all loads
    - `total_loads` integer: Total number of loads
    - `avg_revenue_per_load` number: Average revenue per load
    - `total_carrier_cost` number: Total carrier costs
    - `total_margin` number: Total margin (revenue - cost)
    - `avg_margin_percentage` number: Average margin percentage
  - `recent_loads` CustomerLoadSchema[], nullable: Recent loads for this customer
    - `id` string, required: Load UUID
    - `external_reference_id` string, required: External reference ID from TMS
    - `tms_status` string, nullable: Raw TMS status
    - `mentium_status` string, required: Mentium mapped status
    - `origin_city` string, nullable: Origin city
    - `origin_state` string, nullable: Origin state
    - `destination_city` string, nullable: Destination city
    - `destination_state` string, nullable: Destination state
    - `equipment_type` string, nullable: Equipment type
    - `first_pickup_stop_target_arrival_earliest_at` string, date-time, nullable: First PICKUP stop's target_arrival_earliest_at
    - `last_delivery_stop_target_arrival_earliest_at` string, date-time, nullable: Last DELIVERY stop's target_arrival_earliest_at
    - `total_customer_amount` number, nullable: Customer amount/revenue
    - `total_carrier_amount` number, nullable: Carrier cost
    - `created_at` string, required: Load created timestamp
  - `contacts` CustomerContactSchema[], nullable: Customer contacts
    - `id` string, required: Contact UUID
    - `customer_id` string, required: Parent customer UUID
    - `external_reference_id` string, nullable: External reference ID from TMS
    - `full_name` string, nullable: Full name
    - `first_name` string, nullable: First name
    - `last_name` string, nullable: Last name
    - `contact_type` string, nullable: Contact type (e.g., Primary Accounting)
    - `access_level` string, nullable: Access level (e.g., Accounting, Admin)
    - `is_primary` boolean: Whether this is the primary contact
    - `email` string, nullable: Email address
    - `phone` string, nullable: Phone number
    - `address_line1` string, nullable: Address line 1
    - `address_line2` string, nullable: Address line 2
    - `city` string, nullable: City
    - `state` string, nullable: State
    - `postal_code` string, nullable: Postal code
    - `country` string, nullable: Country
    - `hide_invoice_summary` boolean: Hide invoice summary flag
    - `accounting_email_required` boolean: Accounting email required flag
    - `consolidation` boolean: Consolidation flag
    - `division` string, nullable: Division
    - `role_id` string, nullable: Role ID
    - `is_active` boolean: Whether contact is active
  - `payment_term` string, nullable: Payment terms (e.g., 'Net 30')
  - `credit_limit` number, nullable: Credit limit amount
  - `created_at` string, date-time, nullable: Customer created timestamp
  - `updated_at` string, date-time, nullable: Customer last updated timestamp

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/mentium/apis/mentium-api.md) - [All operations](https://skmtc.dev/mentium/apis/mentium-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mentium/apis/mentium-api/revisions/b4ed8e59432e?raw)
