Pular para o conteúdo principal

Conciliação

Em desenvolvimento

Este módulo ainda não está disponível na API. A documentação abaixo é uma prévia da funcionalidade planejada.

Importação e matching de lançamentos bancários para conciliação financeira.

Endpoints

MétodoEndpointDescriçãoPermissão
POST/baas/api/v1/reconciliationsCriar conciliaçãoBAAS_RECONCILIATION_CREATE
GET/baas/api/v1/reconciliationsListar conciliaçõesBAAS_RECONCILIATION_READ
GET/baas/api/v1/reconciliations/:idObter conciliação por IDBAAS_RECONCILIATION_READ
GET/baas/api/v1/reconciliations/:id/entriesListar lançamentos da conciliaçãoBAAS_RECONCILIATION_READ

Atributos da Conciliação

CampoTipoDescrição
accountIdstring (UUID)ID da conta bancária
statusenumStatus: PENDING, PROCESSING, COMPLETED, PARTIALLY_MATCHED, FAILED
periodStartdateData inicial do período
periodEnddateData final do período
totalEntriesintegerTotal de lançamentos importados
matchedEntriesintegerLançamentos conciliados
unmatchedEntriesintegerLançamentos não conciliados
totalAmountnumberValor total dos lançamentos
matchedAmountnumberValor conciliado
unmatchedAmountnumberValor não conciliado
sourceenumOrigem: FILE_UPLOAD, API_IMPORT, AUTOMATIC
failureReasonstringMotivo da falha (quando aplicável)
completedAtdatetimeData de conclusão
createdAtdatetimeData de criação
updatedAtdatetimeData da última atualização

Atributos do Lançamento (Entry)

CampoTipoDescrição
typeenumTipo: CREDIT, DEBIT
amountnumberValor
descriptionstringDescrição do lançamento
transactionDatedateData da transação
matchStatusenumStatus: MATCHED, UNMATCHED, MANUAL
matchedStatementIdstring (UUID)ID da movimentação do extrato (quando matched)
externalRefstringReferência externa (do arquivo importado)

Criar Conciliação

POST /baas/api/v1/reconciliations

Cria uma nova conciliação importando lançamentos para matching com o extrato bancário.

Atributos

CampoTipoObrigatórioDescrição
accountIdstringSimID da conta bancária
periodStartdateSimData inicial do período
periodEnddateSimData final do período
sourceenumSimOrigem: FILE_UPLOAD, API_IMPORT
entriesarraySimLançamentos para conciliação

Atributos de cada Entry

CampoTipoObrigatórioDescrição
typeenumSimCREDIT ou DEBIT
amountnumberSimValor do lançamento
descriptionstringSimDescrição
transactionDatedateSimData da transação
externalRefstringNãoReferência externa
curl -X POST 'https://baas.stg.catalisa.app/baas/api/v1/reconciliations' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "reconciliations",
"attributes": {
"accountId": "550e8400-e29b-41d4-a716-446655440100",
"periodStart": "2024-01-01",
"periodEnd": "2024-01-31",
"source": "API_IMPORT",
"entries": [
{
"type": "DEBIT",
"amount": 5000.00,
"description": "Pagamento NF 12345",
"transactionDate": "2024-01-10",
"externalRef": "ERP-PAG-12345"
},
{
"type": "CREDIT",
"amount": 15000.00,
"description": "Recebimento cliente ABC",
"transactionDate": "2024-01-12",
"externalRef": "ERP-REC-67890"
},
{
"type": "DEBIT",
"amount": 3000.00,
"description": "Pagamento fornecedor XYZ",
"transactionDate": "2024-01-15",
"externalRef": "ERP-PAG-11111"
}
]
}
}
}'

Response (201 Created)

{
"data": {
"type": "reconciliations",
"id": "550e8400-e29b-41d4-a716-446655440600",
"links": {
"self": "/baas/api/v1/reconciliations/550e8400-e29b-41d4-a716-446655440600"
},
"attributes": {
"accountId": "550e8400-e29b-41d4-a716-446655440100",
"status": "PROCESSING",
"periodStart": "2024-01-01",
"periodEnd": "2024-01-31",
"totalEntries": 3,
"matchedEntries": 0,
"unmatchedEntries": 3,
"totalAmount": 23000.00,
"matchedAmount": 0,
"unmatchedAmount": 23000.00,
"source": "API_IMPORT",
"failureReason": null,
"completedAt": null,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
},
"links": {
"self": "/baas/api/v1/reconciliations/550e8400-e29b-41d4-a716-446655440600"
}
}

Listar Conciliações

GET /baas/api/v1/reconciliations

Lista conciliações com suporte a paginação e filtros.

Query Parameters

ParâmetroTipoDescrição
page[number]integerNúmero da página
page[size]integerItens por página
filter[accountId]UUIDFiltrar por conta
filter[status]enumFiltrar por status
filter[periodStart]datePeríodo a partir de
filter[periodEnd]datePeríodo até
curl 'https://baas.stg.catalisa.app/baas/api/v1/reconciliations?filter[accountId]=550e8400-e29b-41d4-a716-446655440100&filter[status]=COMPLETED' \
-H 'Authorization: Bearer SEU_TOKEN'

Obter Conciliação por ID

GET /baas/api/v1/reconciliations/:id

Obtém os detalhes e estatísticas de uma conciliação específica.

curl 'https://baas.stg.catalisa.app/baas/api/v1/reconciliations/550e8400-e29b-41d4-a716-446655440600' \
-H 'Authorization: Bearer SEU_TOKEN'

Listar Lançamentos da Conciliação

GET /baas/api/v1/reconciliations/:id/entries

Lista os lançamentos de uma conciliação com seu status de matching.

Query Parameters

ParâmetroTipoDescrição
page[number]integerNúmero da página
page[size]integerItens por página
filter[matchStatus]enumFiltrar por status: MATCHED, UNMATCHED, MANUAL
curl 'https://baas.stg.catalisa.app/baas/api/v1/reconciliations/550e8400-e29b-41d4-a716-446655440600/entries?filter[matchStatus]=UNMATCHED' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": [
{
"type": "reconciliation-entries",
"id": "550e8400-e29b-41d4-a716-446655440610",
"attributes": {
"type": "DEBIT",
"amount": 3000.00,
"description": "Pagamento fornecedor XYZ",
"transactionDate": "2024-01-15",
"matchStatus": "UNMATCHED",
"matchedStatementId": null,
"externalRef": "ERP-PAG-11111"
}
}
],
"meta": {
"totalItems": 1,
"totalPages": 1,
"currentPage": 1,
"itemsPerPage": 20
}
}

Erros Comuns

CódigoErroDescrição
400VALIDATIONDados inválidos (período, lançamentos, etc.)
404NOT_FOUNDConciliação ou conta não encontrada
409CONFLICTJá existe conciliação para o mesmo período
422UNPROCESSABLEPeríodo maior que 90 dias ou sem lançamentos