Счета и финансы

Statement PDF API для account и billing exports

Генерируйте account, billing и activity statement PDFs с multi-page rows, totals, metadata и optional PDF/A archival settings.

ОСНОВНАЯ API JSON Render
ENDPOINT /api/v1/pdf/render
СИСТЕМЫ billing backend / account system / ERP export service / SaaS reporting service
Задача сценария

Рендерить customer, account или billing statement PDFs из period data, opening balances, line items, adjustments и totals, чтобы users могли скачать стабильную запись для review или retention.

Когда использовать эту API

  • Ваша система уже владеет balances, statement periods, transaction rows и totals.
  • Нужен PDF export для account history, billing summaries или finance workflows.
  • Нужен repeatable multi-page output с headers, footers и summary sections.
  • Может потребоваться PDF/A output для archival workflows.

Что она не заменяет

  • Нужны bank connectivity, ledger reconciliation или financial advice.
  • Нужны encrypted statements и PDF/A в одном render request. Public Render API считает security settings и PDF/A profile settings взаимоисключающими.
  • Нужен e-invoice XML packaging. Для этого используйте E-Invoice Render endpoint.

Какой endpoint вызывать

ОСНОВНОЙ

/api/v1/pdf/render

JSON Render — путь по умолчанию для этого сценария.

ДОПОЛНИТЕЛЬНЫЙ 1

/api/v1/template-render

Используйте, когда сценарию нужен связанный API-путь, контракт шаблона или проверка возможностей.

Минимальный запрос

POST /api/v1/pdf/render - statement cover page с period totals.

{
  "settings": {
    "profile": "pdfa-2b"
  },
  "pages": [
    {
      "size": "letter",
      "elements": [
        {
          "type": "text",
          "x": 18,
          "y": 20,
          "content": "Account Statement",
          "style": { "font_size": 18, "font_family": "NotoSans-Regular" }
        },
        {
          "type": "text",
          "x": 18,
          "y": 38,
          "content": "Period: 2026-05-01 to 2026-05-31\nOpening balance: $1,240.00\nClosing balance: $1,890.25",
          "style": { "font_size": 11, "font_family": "NotoSans-Regular" }
        }
      ]
    }
  ]
}

Что выполняет gPdf

  • DocumentRequest rendering для statement pages.
  • Text blocks, tables, totals sections, page numbering, metadata и PDF/A profile settings.
  • Template Render для стабильного statement layout и field contract.
  • Binary PDF output, который ваша система может скачать или сохранить.

Что контролирует ваша система

  • Statement period logic, account balances, transaction data, currency rules и customer identity.
  • Archival policy, access control, file naming и secure delivery.
  • Любые reconciliation, audit approval или regulated financial representation.

Production-чеклист

  1. Проверьте длинные transaction descriptions, high row counts, empty periods и negative balances.
  2. Генерируйте request ID для каждого statement render.
  3. Решите, рендерить on demand или хранить каждый statement после period close.
  4. Используйте PDF/A только когда statement archival policy этого требует.
  5. Держите access control и customer authentication вне render API.

Границы заявлений

  • gPdf не вычисляет account balances и не сверяет ledgers.
  • API рендерит statement PDFs; ваша система отвечает за financial correctness.
  • PDF/A output — render setting, а не замена retention policy.

Statements — документы за период

Statement page должна начинаться с закрытого набора business facts: account, period, opening balance, activity rows, adjustments и closing balance. gPdf не решает эти facts. Он рендерит их в PDF layout, который users могут скачать или ваша система может сохранить.

Работа с большими наборами строк

Для high row counts проектируйте statement как repeatable layout с table regions, summary sections и page numbers. Используйте JSON Render при настройке layout. Переходите на Template Render, когда field contract стабилен.

FAQ

Может ли gPdf рассчитывать statement balances?
Нет. Ваша система отправляет period, balances, rows и totals. gPdf рендерит PDF.
Можно ли использовать PDF/A для statement PDFs?
Да, JSON Render поддерживает PDF/A profile settings. Ваша archival policy решает, требуется ли PDF/A.
Стоит ли statements делать через Template Render?
Обычно да после стабилизации layout. Template Render позволяет callers отправлять period data без повторения page coordinates.
Хранит ли gPdf statements?
Нет. Standard render requests возвращают PDF response. Ваша система отвечает за storage и access control.