> ## Documentation Index
> Fetch the complete documentation index at: https://commet.co/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Balance y Top-Ups

> Configurá consumo monetario prepago, ajustá el balance de una suscripción y permití que el cliente compre más.

El modelo de consumo Balance le da a la suscripción un allowance monetario. El uso cobrable descuenta ese balance según el precio configurado en cada feature.

## Configurá un plan con balance

En **Plans**, elegí **Balance**, definí el monto incluido en cada reset y agregá las features cobrables. Usá [AI Token Billing](/docs/es/ai-token-billing) cuando el costo del modelo y el margen determinan el cargo.

El balance del plan resetea mensualmente en planes mensuales, trimestrales, anuales, free y one-time. Los semanales resetean cada siete días. Los top-ups comprados no permanecen después del próximo reset.

## Ajustá balance sin cobrar

Usá un adjustment para una corrección de soporte, una migración o un grant administrativo:

<CodeGroup>
  ```typescript TypeScript theme={null}
  import { Commet } from "@commet/node";

  const commet = new Commet({ apiKey: "ck_xxx" });

  const balanceAdjustment = await commet.subscriptions.adjustBalance({
    id: "sub_xxx",
    amount: 5000,
  });
  ```

  ```python Python theme={null}
  from commet import Commet

  commet = Commet("ck_xxx")

  balance_adjustment = commet.subscriptions.adjust_balance(
      "sub_xxx",
      amount=5000,
  )
  ```

  ```go Go theme={null}
  client, err := commet.New("ck_xxx")
  if err != nil {
  	log.Fatal(err)
  }
  ctx := context.Background()

  balanceAdjustment, err := client.Subscriptions.AdjustBalance(ctx, "sub_xxx", &commet.AdjustBalanceParams{
  	Amount: 5000,
  })
  if err != nil {
  	log.Fatal(err)
  }
  ```

  ```java Java theme={null}
  import co.commet.Commet;
  import co.commet.params.AdjustBalanceParams;

  var commet = Commet.builder().apiKey("ck_xxx").build();

  var balanceAdjustment = commet.subscriptions().adjustBalance(
      "sub_xxx",
      AdjustBalanceParams.builder(5000L).build()
  );
  ```

  ```php PHP theme={null}
  use Commet\Commet;

  $commet = new Commet('ck_xxx');

  $balanceAdjustment = $commet->subscriptions->adjustBalance(
      id: 'sub_xxx',
      amount: 5000,
  );
  ```
</CodeGroup>

Un monto positivo agrega balance y uno negativo lo reduce. Los adjustments no cobran el método de pago, así que registrá un motivo específico.

## Cobrá un top-up

<CodeGroup>
  ```typescript TypeScript theme={null}
  import { Commet } from "@commet/node";

  const commet = new Commet({ apiKey: "ck_xxx" });

  const balanceTopup = await commet.subscriptions.topupBalance({
    id: "sub_xxx",
    amount: 5000,
  });
  ```

  ```python Python theme={null}
  from commet import Commet

  commet = Commet("ck_xxx")

  balance_topup = commet.subscriptions.topup_balance(
      "sub_xxx",
      amount=5000,
  )
  ```

  ```go Go theme={null}
  client, err := commet.New("ck_xxx")
  if err != nil {
  	log.Fatal(err)
  }
  ctx := context.Background()

  balanceTopup, err := client.Subscriptions.TopupBalance(ctx, "sub_xxx", &commet.TopupBalanceParams{
  	Amount: 5000,
  })
  if err != nil {
  	log.Fatal(err)
  }
  ```

  ```java Java theme={null}
  import co.commet.Commet;
  import co.commet.params.TopupBalanceParams;

  var commet = Commet.builder().apiKey("ck_xxx").build();

  var balanceTopup = commet.subscriptions().topupBalance(
      "sub_xxx",
      TopupBalanceParams.builder(5000L).build()
  );
  ```

  ```php PHP theme={null}
  use Commet\Commet;

  $commet = new Commet('ck_xxx');

  $balanceTopup = $commet->subscriptions->topupBalance(
      id: 'sub_xxx',
      amount: 5000,
  );
  ```
</CodeGroup>

El top-up cobra el método asociado a la suscripción. El customer también puede comprar balance desde el [Customer Portal](/docs/es/customer-portal).

## Validá antes de gastar

Consultá el allowance antes de ejecutar trabajo que no puede continuar sin balance y registrá solo el trabajo completado. Usá una clave de idempotencia estable para que un retry no descuente dos veces.

Usá **Credits** cuando el cliente deba comprar unidades propias de tu producto que permanecen entre resets.


## Related topics

- [Balance y Top-Ups](/docs/es/how-do-balance-and-top-ups-work.md)
- [Top up balance](/docs/es/api-reference/2026-06-07/subscriptions/topup-balance.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.