---
updatedAt: 2026-09-21T17:50:18.000Z
agentTools:
  siteIndex: https://developers.pismo.io/llms.txt
  projectIndex: https://developers.pismo.io/pismo-docs/llms.txt
---

# How to implement a Commercial cards program

To implement a Commercial cards program, follow these steps.

# 1. Create the account hierarchy

Parent-child relationships define how limits are shared. A hierarchy can contain multiple levels. To organize the accounts in a program, specify the ID of the parent account for each account in the hierarchy, except for the top-level account, which has no parent. You can specify the parent ID when creating an account using the [Create account application](https://developers.pismo.io/pismo-docs/reference/post-acquisitions-v3-s2s-applications) endpoint. To specify the parent ID for an existing account, use  the [Update account](https://developers.pismo.io/pismo-docs/reference/patch-accounts-v1-accounts) endpoint. For more information, refer to the [Accounts](https://developers.pismo.io/pismo-docs/docs/accounts-overview) guide.

# 2. Configure the centralizing account

The hierarchy must identify the centralizing account. This is normally the top-level account in the hierarchy. Do this by running either [Create account application](https://developers.pismo.io/pismo-docs/reference/post-acquisitions-v3-s2s-applications) or [Update account](https://developers.pismo.io/pismo-docs/reference/patch-accounts-v1-accounts) and setting the `centralizer` field to `true` in the body parameters.

<Callout icon="📘" theme="info">
  Make sure all accounts that are not centralizers have the `centralizer` field set to `false`. This is the default.
</Callout>

# 3. Enable shared-limit processing

To control which organizations and programs can use shared limits, you must use [balance configuration](https://developers.pismo.io/pismo-docs/docs/balances-configurations-overview).

If you haven't already created a balance configuration, create one using the [Create balance configuration ](https://developers.pismo.io/pismo-docs/reference/post-v1-balances-config) endpoint. To enable shared limit processing, include a `global_configs` object with `impact_parent_accounts` set to `true`.

If a balance configuration already exists and doesn't have a `global_configs` object with `impact_parent_accounts` set to `true`, use the [Replace balance configuration](https://developers.pismo.io/pismo-docs/reference/put-v1-balances-config) endpoint to replace it with one that does.

Once enabled, authorizations evaluate credit availability across all impacted accounts in the hierarchy.

# 4. Enable limit restoration

After the Pismo platform discharges a payment, it should restore the limits on the centralizer and all its child accounts. Enable this behavior by setting `authorization.update_balance_after_discharge`=`true` in the acceptance configuration associated with the invoice-payment processing code. You can use the [platform configuration](https://developers.pismo.io/pismo-docs/reference/post-config-by-tenant) or [acceptance configuration](https://developers.pismo.io/pismo-docs/reference/post-acceptance-by-tenant) endpoints to do this. For more information, refer to the [Payment methods configurations overview](https://developers.pismo.io/pismo-docs/docs/payment-configurations) guide.