White-labelled Billing

You can use Viam to bill your customers using your own logo. This guide will show you how to set up white-labelled billing. Once set up:

  • You will have a branded billing dashboard for each org
  • Invoices will be sent from your provided support email address and will contain your provided logo
  • You can set custom pricing
Example billing dashboard

Prerequisites

1

Navigate to the organization settings page through the menu in upper right corner of the page. Create a Public namespace.

2

A logo to be displayed on the login screen for your organization. Your logo can be up to 200KB in size and must be in PNG format.

viam organization logo set --logo-path logo.png --org-id <org-id>
Successfully set the logo for organization <org-id> to logo at file-path: logo.png

You must have owner permissions on the organization.

3

The support email that will be shown when Viam sends emails to users on your behalf for email verification, password recovery, and other account-related emails.

viam organization support-email set --support-email support@logoipsum.com --org-id <org-id>
Successfully set support email for organization "<org-id>" to "support@logoipsum.com"

Set up custom billing

1

Enable the billing service for your organization:

viam organizations billing-service enable --org-id <org-id> --address "100 Center Street, New York, NY, 10001, USA"
Successfully enabled billing service for organization "<org-id>"
2

Get billing dashboard URL from the billing service config:

viam organizations billing-service get-config --org-id <org-id>
Billing config for organization: <org-id>
Support Email: support.person@email.com
Billing Dashboard URL: https://app.viam.com/billing/logoipsum
Logo URL: https://storage.googleapis.com/viam-self-service-<org-id>/primary_logo.png

 --- Billing Address ---
Address Line 1: 123 Test Street
City: New York
State: Ny
Postal Code: 10001
Country: USA

You can update any value after setup using viam organizations billing-service update.

3

Check the billing dashboard by navigating to the billing dashboard URL:

It will be of the form https://app.viam.com/billing/<public-namespace>.

To see the billing dashboard for a specific organization, navigate to:

https://app.viam.com/billing/<public-namespace>?id=<org-id>
Example billing dashboard

Set custom pricing

To use custom billing, add a billing configuration to your machines. You can add the billing configuration to individual machine configurations, however, usually this is added to a fragment.

  1. Navigate to the FLEET page.
  2. Go to the FRAGMENTS tab.
  3. Select the fragment you use for your machines.
  4. Click + and add Billing
  5. Adjust attributes as needed.
  6. Save the fragment.
{
  "components": { ... },
  "services" : { ... },
  "billing": {
    "cost_per_month": {
      "per_machine": 10
    },
    "tier_name": "not-free"
  }
}
{
  "billing": {
    "cost_per_month": {
      "per_machine": 0,
      "binary_data_upload_bytes": 0.0,
      "binary_data_egress_bytes": 0.0,
      "binary_data_cloud_storage_bytes": 0.0,
      "tabular_data_upload_bytes": 0.0,
      "tabular_data_egress_bytes": 0.0,
      "tabular_data_cloud_storage_bytes": 0.0,
      "history_cloud_storage_bytes": 0.0,
      "logs_cloud_storage_bytes": 0.0,
      "logs_data_upload_bytes": 0.0,
      "logs_data_egress_bytes": 0.0
    },
    "tier_name": "example-tier",
    "description": "",
    "tier_credit": 0.0
  }
}
Click to view billing attributes
NameTypeRequired?Description
cost_per_monthobjectOptionalSee cost per month attributes. Default: {} (all machines cost 0).
tier_namestringRequiredThe name of the billing tier.
descriptionOptionalDescription for the billing tier. Default: "".
tier_creditnumberOptionalCredit that should be applied to final total for the org. Default: 0.
Click to view cost per month attributes
NameTypeRequired?Description
per_machinenumberOptionalCharge a flat fee per machine. Default: 0.
binary_data_upload_bytesfloatOptionalCost per byte for binary data upload. Default: 0.
binary_data_egress_bytesfloatOptionalCost per byte for binary data download. Default: 0.
binary_data_cloud_storage_bytesfloatOptionalCost per byte per month for binary data stored. Default: 0.
tabular_data_upload_bytesfloatOptionalCost per byte per month for tabular data upload. Default: 0.
tabular_data_egress_bytesfloatOptionalCost per byte per month for tabular data egress. Default: 0.
tabular_data_cloud_storage_bytesfloatOptionalCost per byte per month for tabular data cloud storage. Default: 0.
history_cloud_storage_bytesfloatOptionalCost per byte per month for config history stored. Default: 0.
logs_cloud_storage_bytesfloatOptionalCost per byte per month for logs cloud storage. Default: 0.
logs_data_upload_bytesfloatOptionalCost per byte per month for logs data upload. Default: 0.
logs_data_egress_bytesfloatOptionalCost per byte per month for logs data egress. Default: 0.

FAQ

How does reimbursement work for white-labeled billing?

Payments for white-labeled billing go directly to Viam. To arrange reimbursement, please contact us.

Can I customize the billing page further?

If you need further customization, please contact us.