# Campos de billing

O endpoint de billing da GraphQL API, `https://api.azion.com/v4/billing/graphql`, serve três datasets: `balanceFinancialEntry`, `paymentsClientDebt` e `billDetail`. A tabela de cada dataset lista os campos que uma query pode selecionar, com o tipo que o schema declara. Envie a query em uma requisição `POST` com o header `Authorization: Token [TOKEN VALUE]`.

> **nota**
>
> O endpoint de billing da GraphQL API está disponível apenas para contas *Online Sales*.

Todo dataset de billing aceita os argumentos `filter`, `aggregate`, `groupBy`, `orderBy`, `offset` e `limit`, com `limit` definido como `10` e `offset` como `0` por padrão. Os argumentos estão descritos em [Datasets e argumentos de query](/pt-br/documentacao/devtools/graphql/recursos/).

---

## balanceFinancialEntry

O dataset `balanceFinancialEntry` contém as entradas financeiras de uma conta, como débitos e créditos de trial, com o valor e a moeda de cada uma:

| Campo            | Tipo   | Descrição                                                                                                       |
| ---------------- | ------ | --------------------------------------------------------------------------------------------------------------- |
| `clientId`       | String | Identificador único do cliente na Azion. Exemplo: `8437r`.                                                      |
| `entryType`      | String | Tipo da entrada financeira. Exemplos: `debit`, `trial_credit`, `remaining_trial_credit`, `closing_month_debit`. |
| `description`    | String | Descrição da entrada que aparece na fatura e na nota fiscal do cliente. Pode ser uma string vazia.              |
| `amount`         | Float  | Valor registrado na entrada financeira, na moeda de `currency`. Exemplos: `18750`, `0.04`.                      |
| `currency`       | String | Moeda da entrada financeira. Exemplos: `BRL`, `USD`.                                                            |
| `created`        | Date   | Data em que a entrada financeira foi criada.                                                                    |
| `expirationDate` | Date   | Data em que a entrada financeira expira.                                                                        |

Uma query em `balanceFinancialEntry` não precisa de filtro. Esta query retorna até cinco entradas financeiras da conta:

```graphql
query {
  balanceFinancialEntry(limit: 5) {
    clientId
    entryType
    description
    amount
    currency
  }
}
```

A resposta aparece cortada após a terceira linha:

```json
{
  "data": {
    "balanceFinancialEntry": [
      {
        "clientId": "1234u",
        "entryType": "remaining_trial_credit",
        "description": "",
        "amount": 0.0,
        "currency": "USD"
      },
      {
        "clientId": "1234u",
        "entryType": "trial_credit",
        "description": "",
        "amount": 0.0,
        "currency": "USD"
      },
      {
        "clientId": "1234u",
        "entryType": "debit",
        "description": "",
        "amount": 0.04,
        "currency": "USD"
      },
      …
    ]
  }
}
```

---

## paymentsClientDebt

O dataset `paymentsClientDebt` contém as dívidas do cliente de uma conta: o valor devido por um período contabilizado, e a data e o cartão do pagamento:

| Campo             | Tipo   | Descrição                                                                                           |
| ----------------- | ------ | --------------------------------------------------------------------------------------------------- |
| `clientId`        | String | Identificador único do cliente na Azion. Exemplo: `8437r`.                                          |
| `created`         | Date   | Data em que a dívida do cliente foi criada, no formato ano-mês-dia. Exemplo: `2023-07-31`.          |
| `amount`          | Float  | Valor total contabilizado para a dívida do cliente, na moeda de `currency`. Exemplos: `625`, `0.0`. |
| `currency`        | String | Moeda da dívida do cliente. Exemplos: `BRL`, `USD`.                                                 |
| `startDate`       | Date   | Data de início do período contabilizado, no formato ano-mês-dia. Exemplo: `2022-06-01`.             |
| `endDate`         | Date   | Data de término do período contabilizado, no formato ano-mês-dia. Exemplo: `2022-06-30`.            |
| `paymentDate`     | Date   | Data do pagamento do cliente, no formato ano-mês-dia. Exemplo: `2023-07-10`.                        |
| `cardBrand`       | String | Bandeira do cartão que o cliente usou no pagamento. Exemplo: `VISA`.                                |
| `cardLast4Digits` | String | Últimos quatro dígitos do cartão do cliente. Exemplo: `4456`.                                       |

Uma query em `paymentsClientDebt` não precisa de filtro. Esta query retorna até cinco dívidas do cliente da conta, com o período que cada uma cobre:

```graphql
query {
  paymentsClientDebt(limit: 5) {
    clientId
    created
    amount
    currency
    startDate
    endDate
  }
}
```

A resposta contém uma linha por dívida do cliente:

```json
{
  "data": {
    "paymentsClientDebt": [
      {
        "clientId": "1234u",
        "created": "2026-08-02",
        "amount": 0.0,
        "currency": "USD",
        "startDate": "2026-07-01",
        "endDate": "2026-07-31"
      }
    ]
  }
}
```

---

## billDetail

O dataset `billDetail` contém os detalhes de fatura de uma conta. Cada linha é o uso contabilizado para um produto, uma métrica e uma região em um período de faturamento, com a fatura e a nota fiscal correspondentes:

| Campo           | Tipo    | Descrição                                                                                          |
| --------------- | ------- | -------------------------------------------------------------------------------------------------- |
| `clientId`      | String  | Identificador único do cliente. Exemplo: `0001a`.                                                  |
| `periodFrom`    | Date    | Data de início do período contabilizado, no formato ano-mês-dia. Exemplo: `2023-07-01`.            |
| `periodTo`      | Date    | Data de término do período contabilizado, no formato ano-mês-dia. Exemplo: `2023-07-31`.           |
| `productSlug`   | String  | Identificador do produto. Exemplos: `edge_functions`, `application`.                               |
| `metricSlug`    | String  | Identificador da métrica. Exemplos: `invocations`, `data_transferred`.                             |
| `regionName`    | String  | Região onde a métrica foi contabilizada. Exemplo: `Brazil`.                                        |
| `accounted`     | Float   | Uso total contabilizado para o detalhe da fatura. Exemplos: `1767504904`, `0.024962217`.           |
| `billId`        | Int     | Identificador único da fatura. Exemplo: `1000`.                                                    |
| `billDetailId`  | Int     | Identificador único do detalhe da fatura. Exemplo: `100000`.                                       |
| `createdDate`   | Date    | Data de criação da fatura, no formato ano-mês-dia. Exemplo: `2023-07-01`.                          |
| `temporaryBill` | Boolean | Indica se a fatura é do mês atual, o que a torna temporária. Exemplo: `false`.                     |
| `invoiceNumber` | String  | Identificador único da nota fiscal gerada para a fatura do cliente. Exemplo: `BRLTDA-2769z072023`. |
| `value`         | Decimal | Valor monetário do detalhe da fatura.                                                              |
| `totalValue`    | Decimal | Valor monetário total da fatura.                                                                   |
| `currency`      | String  | Moeda dos valores monetários.                                                                      |

Esta query retorna até cinco detalhes de fatura cujo período começa dentro do intervalo definido em `periodFromRange`:

```graphql
query {
  billDetail(limit: 5, filter: { periodFromRange: { begin: "2026-01-01", end: "2026-10-01" } }) {
    clientId
    periodFrom
    periodTo
    productSlug
    metricSlug
    accounted
  }
}
```

A resposta contém cinco linhas e aparece cortada aqui após a terceira:

```json
{
  "data": {
    "billDetail": [
      {
        "clientId": "1234u",
        "periodFrom": "2026-07-01",
        "periodTo": "2026-07-31",
        "productSlug": "application",
        "metricSlug": "data_transferred",
        "accounted": 0.0
      },
      {
        "clientId": "1234u",
        "periodFrom": "2026-07-01",
        "periodTo": "2026-07-31",
        "productSlug": "application",
        "metricSlug": "data_transferred",
        "accounted": 0.0
      },
      {
        "clientId": "1234u",
        "periodFrom": "2026-07-01",
        "periodTo": "2026-07-31",
        "productSlug": "application",
        "metricSlug": "data_transferred",
        "accounted": 0.024962217
      },
      …
    ]
  }
}
```

---

## Recursos relacionados

- [Queries](/pt-br/documentacao/devtools/graphql/queries.md): O formato da query para dados financeiros, com os endpoints que servem valores faturados e contabilizados.
- [Datasets e argumentos de query](/pt-br/documentacao/devtools/graphql/recursos.md): Os datasets de cada endpoint e os argumentos de filtro, ordenação e paginação que uma query aceita.
- [Campos de accounting](/pt-br/documentacao/devtools/graphql/campos-gql-accounting.md): Os campos de `accountingDetail`, os valores contabilizados por período no endpoint de accounting.
- [Faturamento](/pt-br/documentacao/fundamentos/billing-and-subscriptions.md): Como a Azion fatura o uso dos produtos e mantém uma conta ativa.
