Orçamento Público

Execução orçamentária da rede: dotações (LOA), empenhos, liquidações, pagamentos, receitas e a trilha de auditoria. Somente leitura — toda escrita aqui já gera uma linha imutável na trilha de auditoria e passa pelos controles próprios do ERP; não é algo que um parceiro deva alterar por fora. O uso típico é um portal de transparência consumindo estes dados.

Como a Biblioteca, o Orçamento é compartilhado por todo o cliente (rede/SEDUC), não por escola — estas rotas ficam em /v1/partners/budget/..., sem CNPJ na URL.

Plano Gestão Escolar (ERP): os endpoints desta página respondem somente para clientes do plano Gestão Escolar (ERP), como no sistema web. Para clientes do plano simplificado, a resposta é 403 com "code": "ERP_REQUIRED".

O modelo exercício

O exercício financeiro (ano orçamentário) é o topo da hierarquia — toda dotação, empenho e receita pertence a um exercício.

id uuid

Identificador único.

fiscal_year integer

Ano do exercício.

status string

OPEN ou CLOSED.

opening_balance decimal

Saldo de abertura.

closed_at datetime|null

Data de encerramento.

Dados de referência (somente leitura)

programs, funding-sources e expense-nature seguem todos o mesmo formato simples: id, code, name e active, com alguns campos extras específicos (fonte de recurso traz sphere; natureza da despesa traz category/group).

Modelo exercício
{
  "id": "...",
  "fiscal_year": 2026,
  "status": "OPEN",
  "status_label": "Aberto",
  "opening_balance": 0
}

O modelo dotação

Uma linha da LOA. Os saldos (committed_amount, available_amount, ...) são calculados a partir dos empenhos vinculados, não armazenados.

code string|null

Código da dotação (classificação completa).

initial_amount decimal

Valor inicialmente dotado.

updated_amount decimal

Valor atualizado (inicial +/- créditos).

committed_amount decimal

Total empenhado.

settled_amount decimal

Total liquidado.

paid_amount decimal

Total pago.

available_amount decimal

Saldo disponível para empenho.

funding_source object

id, code e name da fonte de recurso.

organizational_unit / function / subfunction / program / action / expense_nature object|null

id, code e name de cada eixo da classificação, quando carregado.

Modelo dotação
{
  "id": "...",
  "code": "02.001.12.361.2001.2010",
  "initial_amount": 100000,
  "committed_amount": 5000,
  "available_amount": 95000,
  "funding_source": { "code": "01", "name": "Recursos Ordinários" }
}
GET /v1/partners/budget/exercises

Listar exercícios

Todos os exercícios financeiros do cliente, mais recentes primeiro.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/exercises
GET /v1/partners/budget/programs

Listar programas

Classificação programática (referência).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/programs
GET /v1/partners/budget/funding-sources

Listar fontes de recurso

Fontes de recurso cadastradas (referência).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/funding-sources
GET /v1/partners/budget/expense-nature

Listar naturezas de despesa

Classificação por natureza da despesa (referência).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/expense-nature
GET /v1/partners/budget/appropriations

Listar dotações

Dotações orçamentárias, paginadas. Filtro opcional budget_exercise_id (query string).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/appropriations
GET /v1/partners/budget/commitments

Listar empenhos

Empenhos, paginados. Filtro opcional status (query string).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/commitments
GET /v1/partners/budget/settlements

Listar liquidações

Liquidações de empenhos, paginadas.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/settlements
GET /v1/partners/budget/payments

Listar pagamentos

Ordens de pagamento, paginadas.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/payments
GET /v1/partners/budget/revenues

Listar receitas

Receitas arrecadadas, paginadas. Filtro opcional budget_exercise_id (query string).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/revenues
GET /v1/partners/budget/audit-log

Trilha de auditoria

Toda criação/edição/exclusão de qualquer entidade do módulo, paginada (50 por página). Cada linha traz o que mudou em changes.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /api/v1/partners/budget/audit-log