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

# BillingBillDetail

> A merchant bill with grouped line items and revenue split for reconciliation.

**Required scopes:** [`invoices_read`](/docs/api-reference/v3/reference/scopes#scope-invoices_read)

<ResponseField name="bill" type={<a href="/docs/api-reference/v3/reference/billing/billing-bill">BillingBill!</a>} required>
  Bill identity, dates, status, and balance.

  <Expandable title="fields" lazyRender>
    <ResponseField name="billedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
      Date shown as billed on the merchant invoice.
    </ResponseField>

    <ResponseField name="chargeTotal" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
      Charge total valued in bill currency, excluding unstruck foreign charges.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="closingBalance" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
      Current bill balance; positive means owed by the merchant.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="currency" type="String!" required>
      Bill settlement currency.
    </ResponseField>

    <ResponseField name="dueAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
      Payment due date, when assigned.
    </ResponseField>

    <ResponseField name="id" type="String!" required>
      Stable numeric bill ID.
    </ResponseField>

    <ResponseField name="openingBalance" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
      Balance carried into this bill; positive means owed by the merchant.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="periodEnd" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
      End of the billing period.
    </ResponseField>

    <ResponseField name="periodStart" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
      Start of the billing period.
    </ResponseField>

    <ResponseField name="status" type={<a href="/docs/api-reference/v3/reference/billing/billing-bill-status">BillingBillStatus!</a>} required>
      Stored bill lifecycle status.
    </ResponseField>

    <ResponseField name="type" type={<a href="/docs/api-reference/v3/reference/billing/billing-bill-type">BillingBillType!</a>} required>
      Bill type, such as ReturnShipping or Software.
    </ResponseField>

    <ResponseField name="unstruckForeign" type={<a href="/docs/api-reference/v3/reference/common/money">[Money!]!</a>} required>
      Foreign charges without a frozen bill-currency strike, grouped by currency.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="lines" type={<a href="/docs/api-reference/v3/reference/billing/billing-bill-line">[BillingBillLine!]!</a>} required>
  Aggregated invoice lines, including net-zero coverage lines retained for revenue reconciliation.

  <Expandable title="fields" lazyRender>
    <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
      Net charge in source currency, after any folded merchant share.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="billCurrencyAmount" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
      Frozen bill-currency value, if available.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="category" type="String!" required>
      Merchant invoice section.
    </ResponseField>

    <ResponseField name="count" type="Int!" required>
      Number of source charge rows combined into this line.
    </ResponseField>

    <ResponseField name="includedCount" type="Int">
      Included usage count, if available.
    </ResponseField>

    <ResponseField name="merchantShare" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
      Merchant share already folded out of the net charge; do not subtract it again.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="name" type="String">
      Stored invoice line name.
    </ResponseField>

    <ResponseField name="orderCount" type="Int">
      Recorded order count, if available.
    </ResponseField>

    <ResponseField name="overageCount" type="Int">
      Overage usage count, if available.
    </ResponseField>

    <ResponseField name="product" type="String">
      Associated Redo product.
    </ResponseField>

    <ResponseField name="quantity" type="Int">
      Item quantity when stored on the invoice line.
    </ResponseField>

    <ResponseField name="recoveredRevenue" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
      Recovered revenue associated with this line.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="revenueSharePercentage" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal</a>}>
      Recorded merchant revenue-share rate, when applicable.
    </ResponseField>

    <ResponseField name="subtype" type="String">
      Specific charge subtype.
    </ResponseField>

    <ResponseField name="type" type="String!" required>
      Charge type.
    </ResponseField>

    <ResponseField name="unitPrice" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
      Stored unit price when the line is quantity-based.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="visibleOnInvoice" type="Boolean!" required>
      False for a net-zero coverage line hidden in the invoice UI but retained here for gross revenue reconciliation.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="totals" type={<a href="/docs/api-reference/v3/reference/billing/billing-bill-totals">BillingBillTotals!</a>} required>
  Invoice charges, credits, and coverage split.

  <Expandable title="fields" lazyRender>
    <ResponseField name="charges" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
      Positive billed charges after revenue-share folding.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="credits" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
      Credits and refunds on this invoice.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="estimated" type="Boolean!" required>
      True if any foreign amount lacks a frozen bill-currency value.
    </ResponseField>

    <ResponseField name="grossCoverageCollected" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
      Gross coverage paid by shoppers, if a revenue split was recorded.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="merchantCoverageShare" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
      Coverage revenue retained by the merchant, not billed.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="openingBalance" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
      Balance carried in from the previous period.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="redoCoverageShare" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
      Coverage revenue billed by Redo, net of coverage refunds.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="total" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
      Charges plus credits plus opening balance; estimated when foreign charges have no frozen strike.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The exact amount as a decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>


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