Referência
Financeiro
Quem deve à empresa e a quem a empresa deve: contas a receber, contas a pagar, despesas e pagamentos.
Quem deve à empresa e a quem a empresa deve: contas a receber, contas a pagar, despesas e pagamentos.
| Operação | O que faz |
|---|---|
GET /api/financeiro/contas-a-receber | As facturas a crédito por receber, com o vencimento, o que já foi recebido e o escalão de atraso. |
GET /api/financeiro/contas-a-receber/resumo | O resumo do que há por receber: total em aberto, vencido e a vencer, por escalão. |
GET /api/financeiro/contas-a-pagar | As contas a pagar: compras a fornecedores e despesas. |
GET /api/financeiro/contas-a-pagar/resumo | O resumo do que há por pagar: total em aberto, vencido e a vencer em 7 dias. |
GET /api/financeiro/contas-a-pagar/{id} | Uma conta a pagar com todos os pagamentos e estornos. |
POST /api/financeiro/contas-a-pagar/despesas | Lança uma despesa (renda, electricidade, serviços): cria uma conta a pagar, paga ou por pagar. |
POST /api/financeiro/contas-a-pagar/{id}/pagamentos | Regista um pagamento, parcial ou total, de uma conta a pagar. |
GET /api/financeiro/categorias | As categorias financeiras (de despesa e de receita), para classificar uma despesa. |
GET /api/financeiro/centros-custo | Os centros de custo da empresa, para imputar as despesas. |
POST /api/financeiro/contas-a-pagar/{id}/notas-credito | Regista uma nota de crédito do fornecedor sobre uma conta a pagar: abate o que falta pagar. |
GET /api/financeiro/contas-a-pagar/despesas/resumo-mes | O resumo das despesas do mês corrente: total lançado, já pago e por pagar. |
POST /api/financeiro/contas-a-pagar/{id}/anular | Anula uma despesa que ainda não tem pagamentos. |
POST /api/financeiro/contas-a-pagar/{id}/pagamentos/{pagamentoId}/estornar | Estorna um pagamento a um fornecedor: a dívida reabre. |
GET /api/financeiro/despesas-recorrentes | As despesas recorrentes (renda, seguros, rendas de equipamento…). |
GET /api/financeiro/despesas-recorrentes/resumo | O resumo das despesas recorrentes: quantas, quanto por mês e quantas estão pendentes de lançar. |
GET /api/financeiro/despesas-recorrentes/{id} | A ficha de uma despesa recorrente, com as despesas que já gerou. |
POST /api/financeiro/despesas-recorrentes | Cria uma despesa recorrente. |
PUT /api/financeiro/despesas-recorrentes/{id} | Altera uma despesa recorrente; vale para os ciclos seguintes. |
POST /api/financeiro/despesas-recorrentes/{id}/pausar | Pausa uma despesa recorrente: deixa de lançar até ser retomada. |
POST /api/financeiro/despesas-recorrentes/{id}/retomar | Retoma uma despesa recorrente pausada. |
POST /api/financeiro/despesas-recorrentes/{id}/cancelar | Cancela uma despesa recorrente: não volta a lançar. As despesas já lançadas mantêm-se. |
POST /api/financeiro/despesas-recorrentes/lancar-pendentes | Lança agora todas as despesas recorrentes que estão por lançar. |
GET /api/financeiro/mapa-fornecedores | O Mapa de Fornecedores de um mês, para a declaração à AGT: a pré-visualização. |
GET /api/financeiro/mapa-fornecedores/excel | O Mapa de Fornecedores de um mês no modelo Excel da AGT. |
POST /api/financeiro/categorias | Cria uma categoria financeira (de receita ou de despesa). |
PUT /api/financeiro/categorias/{id} | Renomeia uma categoria financeira. |
PUT /api/financeiro/categorias/{id}/actividade | Define a actividade do fluxo de caixa a que uma categoria pertence. |
PUT /api/financeiro/categorias/{id}/valores-fiscais | Define a natureza fiscal da compra por omissão de uma categoria de despesa. |
PUT /api/financeiro/categorias/{id}/activa | Activa ou desactiva uma categoria financeira. |
POST /api/financeiro/centros-custo | Cria um centro de custo. |
PUT /api/financeiro/centros-custo/{id} | Renomeia um centro de custo. |
PUT /api/financeiro/centros-custo/{id}/activo | Activa ou desactiva um centro de custo. |
GET /api/financeiro/creditos-fornecedor | Os créditos a favor da empresa junto dos fornecedores (o que sobra de uma nota de crédito sobre uma factura já paga). |
GET /api/financeiro/creditos-fornecedor/{id} | Um crédito de fornecedor, com as utilizações que já teve. |
POST /api/financeiro/creditos-fornecedor/{id}/compensar | Usa um crédito para abater outra conta a pagar do mesmo fornecedor. |
POST /api/financeiro/creditos-fornecedor/{id}/reembolsar | Recebe um crédito em dinheiro: o fornecedor devolve o valor à empresa. |
POST /api/financeiro/creditos-fornecedor/utilizacoes/{utilizacaoId}/desfazer | Desfaz uma utilização de um crédito (uma compensação ou um reembolso), com o motivo. |
/api/financeiro/contas-a-receber#As facturas a crédito por receber, com o vencimento, o que já foi recebido e o escalão de atraso.
situacao é EmAberto (por omissão), Vencidas, Pagas ou Todas. O escalão mede os dias desde o vencimento: «A vencer», «0-30», «31-60», «61+».
A resposta é uma página: itens e proximoCursor. Ver Paginação.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
situacao | na pesquisa | uma de: «EmAberto», «Vencidas», «Pagas», «Todas» | |
clienteId | na pesquisa | identificador (UUID) | |
cursor | na pesquisa | texto | |
tamanho | na pesquisa | número inteiro |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
itens | lista de objectos | Os registos desta página. |
itens[].id | identificador (UUID) | Identificador único (UUID). |
itens[].numero | texto | O número legível, atribuído pelo servidor («FR LC2026/25»). |
itens[].sigla | texto | |
itens[].clienteId | identificador (UUID) | O cliente do documento. |
itens[].clienteNome | texto | O nome do cliente tal como estava na emissão. |
itens[].numeroContribuinte | texto ou nulo | O número de contribuinte (NIF). |
itens[].lojaId | identificador (UUID) | O estabelecimento. |
itens[].data | data e hora (ISO 8601) | A data e hora (UTC). |
itens[].vencimento | data (AAAA-MM-DD) | O dia do vencimento. |
itens[].total | número | O total. |
itens[].recebido | número | O que já foi recebido. |
itens[].creditado | número | O que já foi creditado. |
itens[].valorEmAberto | número | O que falta receber ou pagar. |
itens[].diasEmAtraso | número inteiro | Os dias desde o vencimento (0 se ainda não venceu). |
itens[].escalao | texto | O escalão de atraso: «A vencer», «0-30», «31-60» ou «61+». |
itens[].situacao | texto | A situação: EmAberto, Parcial, Paga, Anulada… |
proximoCursor | texto ou nulo | O cursor da página seguinte; nulo quando não há mais. Ver Paginação. |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/contas-a-receber' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/contas-a-receber/resumo#O resumo do que há por receber: total em aberto, vencido e a vencer, por escalão.
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
emAberto | número inteiro | O número de documentos em aberto. |
valorEmAberto | número | O que falta receber ou pagar. |
valorVencido | número | O total já vencido. |
valorAVencerEm7Dias | número | |
valorVencidoAte30Dias | número | |
valorVencido31a60Dias | número | |
valorVencidoMais60Dias | número |
Exemplo
Resumo das contas a receber
curl 'https://<endereço-da-API>/api/financeiro/contas-a-receber/resumo' \
-H 'X-Api-Key: assw_v1_<chave>'
const resposta = await fetch('https://<endereço-da-API>/api/financeiro/contas-a-receber/resumo', {
method: 'GET',
headers: {
"X-Api-Key": "assw_v1_<chave>"
},
})
const dados = await resposta.json()
import requests
resposta = requests.get(
'https://<endereço-da-API>/api/financeiro/contas-a-receber/resumo',
headers={
'X-Api-Key': 'assw_v1_<chave>'
},
)
dados = resposta.json()
using var cliente = new HttpClient { BaseAddress = new Uri("https://<endereço-da-API>") };
using var pedido = new HttpRequestMessage(HttpMethod.Get, "/api/financeiro/contas-a-receber/resumo");
pedido.Headers.Add("X-Api-Key", "assw_v1_<chave>");
using var resposta = await cliente.SendAsync(pedido);
var texto = await resposta.Content.ReadAsStringAsync();
200 OK Resposta
content-type: application/json; charset=utf-8
x-mucanda-api-version: 1
{
"emAberto": 9,
"valorEmAberto": 977135.29,
"valorVencido": 943505.29,
"valorAVencerEm7Dias": 0,
"valorVencidoAte30Dias": 943505.29,
"valorVencido31a60Dias": 0,
"valorVencidoMais60Dias": 0
}
/api/financeiro/contas-a-pagar#As contas a pagar: compras a fornecedores e despesas.
Filtre por situacao (EmAberto, Vencidas, Pagas, Todas), fornecedorId, origem (CompraEstoque ou Despesa) e categoriaId.
A resposta é uma página: itens e proximoCursor. Ver Paginação.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
situacao | na pesquisa | uma de: «EmAberto», «Vencidas», «Pagas», «Todas» | |
fornecedorId | na pesquisa | identificador (UUID) | |
cursor | na pesquisa | texto | |
tamanho | na pesquisa | número inteiro | |
origem | na pesquisa | uma de: «CompraEstoque», «Despesa», «null» | |
categoriaId | na pesquisa | identificador (UUID) |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
itens | lista de objectos | Os registos desta página. |
itens[].id | identificador (UUID) | Identificador único (UUID). |
itens[].numero | texto | O número legível, atribuído pelo servidor («FR LC2026/25»). |
itens[].origem | texto | |
itens[].entradaEstoqueId | identificador (UUID) ou nulo | |
itens[].documentoFornecedor | texto ou nulo | |
itens[].fornecedorId | identificador (UUID) ou nulo | |
itens[].fornecedorNome | texto ou nulo | |
itens[].numeroContribuinte | texto ou nulo | O número de contribuinte (NIF). |
itens[].lojaId | identificador (UUID) | O estabelecimento. |
itens[].descricao | texto | A descrição. |
itens[].dataDocumento | data e hora (ISO 8601) | |
itens[].vencimento | data e hora (ISO 8601) | O dia do vencimento. |
itens[].valor | número | O valor. |
itens[].valorPago | número | |
itens[].valorCreditado | número | O que já foi creditado por notas de crédito. |
itens[].valorEmAberto | número | O que falta receber ou pagar. |
itens[].diasEmAtraso | número inteiro | Os dias desde o vencimento (0 se ainda não venceu). |
itens[].escalao | texto | O escalão de atraso: «A vencer», «0-30», «31-60» ou «61+». |
itens[].situacao | texto | A situação: EmAberto, Parcial, Paga, Anulada… |
itens[].ultimoPagamentoEmUtc | data e hora (ISO 8601) ou nulo | |
itens[].categoriaFinanceiraId | identificador (UUID) ou nulo | |
itens[].categoriaNome | texto ou nulo | |
itens[].centroCustoId | identificador (UUID) ou nulo | |
itens[].centroCustoNome | texto ou nulo | |
itens[].tipoDocumentoFornecedor | texto ou nulo | |
itens[].baseTributavel | número ou nulo | |
itens[].ivaSuportado | número ou nulo | |
itens[].percentagemIvaDedutivel | número ou nulo | |
itens[].naturezaCompra | texto ou nulo | |
proximoCursor | texto ou nulo | O cursor da página seguinte; nulo quando não há mais. Ver Paginação. |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/contas-a-pagar' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/contas-a-pagar/resumo#O resumo do que há por pagar: total em aberto, vencido e a vencer em 7 dias.
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
emAberto | número inteiro | O número de documentos em aberto. |
valorEmAberto | número | O que falta receber ou pagar. |
valorVencido | número | O total já vencido. |
valorAVencerEm7Dias | número | |
valorVencidoAte30Dias | número | |
valorVencido31a60Dias | número | |
valorVencidoMais60Dias | número |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/contas-a-pagar/resumo' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/contas-a-pagar/{id}#Uma conta a pagar com todos os pagamentos e estornos.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
conta | objecto | |
conta.id | identificador (UUID) | Identificador único (UUID). |
conta.numero | texto | O número legível, atribuído pelo servidor («FR LC2026/25»). |
conta.origem | texto | |
conta.entradaEstoqueId | identificador (UUID) ou nulo | |
conta.documentoFornecedor | texto ou nulo | |
conta.fornecedorId | identificador (UUID) ou nulo | |
conta.fornecedorNome | texto ou nulo | |
conta.numeroContribuinte | texto ou nulo | O número de contribuinte (NIF). |
conta.lojaId | identificador (UUID) | O estabelecimento. |
conta.descricao | texto | A descrição. |
conta.dataDocumento | data e hora (ISO 8601) | |
conta.vencimento | data e hora (ISO 8601) | O dia do vencimento. |
conta.valor | número | O valor. |
conta.valorPago | número | |
conta.valorCreditado | número | O que já foi creditado por notas de crédito. |
conta.valorEmAberto | número | O que falta receber ou pagar. |
conta.diasEmAtraso | número inteiro | Os dias desde o vencimento (0 se ainda não venceu). |
conta.escalao | texto | O escalão de atraso: «A vencer», «0-30», «31-60» ou «61+». |
conta.situacao | texto | A situação: EmAberto, Parcial, Paga, Anulada… |
conta.ultimoPagamentoEmUtc | data e hora (ISO 8601) ou nulo | |
conta.categoriaFinanceiraId | identificador (UUID) ou nulo | |
conta.categoriaNome | texto ou nulo | |
conta.centroCustoId | identificador (UUID) ou nulo | |
conta.centroCustoNome | texto ou nulo | |
conta.tipoDocumentoFornecedor | texto ou nulo | |
conta.baseTributavel | número ou nulo | |
conta.ivaSuportado | número ou nulo | |
conta.percentagemIvaDedutivel | número ou nulo | |
conta.naturezaCompra | texto ou nulo | |
pagamentos | lista de objectos | |
pagamentos[].id | identificador (UUID) | Identificador único (UUID). |
pagamentos[].tipo | texto | |
pagamentos[].metodoPagamentoId | identificador (UUID) | O método de pagamento. |
pagamentos[].metodoPagamentoDescricao | texto | |
pagamentos[].valor | número | O valor. |
pagamentos[].juros | número | |
pagamentos[].desconto | número | O desconto habitual do cliente, em percentagem. |
pagamentos[].valorEfectivo | número | |
pagamentos[].data | data e hora (ISO 8601) | A data e hora (UTC). |
pagamentos[].numeroOperacaoBancaria | texto ou nulo | O número da operação bancária (opcional). |
pagamentos[].dataOperacaoBancaria | data e hora (ISO 8601) ou nulo | A data da operação bancária (opcional). |
pagamentos[].motivo | texto ou nulo | |
pagamentos[].estornoDoPagamentoId | identificador (UUID) ou nulo | |
pagamentos[].estornado | verdadeiro/falso | |
pagamentos[].registadoEmUtc | data e hora (ISO 8601) | |
notasCredito | lista de objectos | |
notasCredito[].id | identificador (UUID) | Identificador único (UUID). |
notasCredito[].numero | texto | O número legível, atribuído pelo servidor («FR LC2026/25»). |
notasCredito[].data | data e hora (ISO 8601) | A data e hora (UTC). |
notasCredito[].baseTributavel | número | |
notasCredito[].ivaSuportado | número | |
notasCredito[].valor | número | O valor. |
notasCredito[].motivo | texto | |
notasCredito[].criadaEmUtc | data e hora (ISO 8601) | |
notasCredito[].valorEmCredito | número |
Erros específicos
NAO_ENCONTRADO — além dos gerais.
Exemplo
A conta a pagar criada pela despesa
curl 'https://<endereço-da-API>/api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651' \
-H 'X-Api-Key: assw_v1_<chave>'
const resposta = await fetch('https://<endereço-da-API>/api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651', {
method: 'GET',
headers: {
"X-Api-Key": "assw_v1_<chave>"
},
})
const dados = await resposta.json()
import requests
resposta = requests.get(
'https://<endereço-da-API>/api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651',
headers={
'X-Api-Key': 'assw_v1_<chave>'
},
)
dados = resposta.json()
using var cliente = new HttpClient { BaseAddress = new Uri("https://<endereço-da-API>") };
using var pedido = new HttpRequestMessage(HttpMethod.Get, "/api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651");
pedido.Headers.Add("X-Api-Key", "assw_v1_<chave>");
using var resposta = await cliente.SendAsync(pedido);
var texto = await resposta.Content.ReadAsStringAsync();
200 OK Resposta
content-type: application/json; charset=utf-8
x-mucanda-api-version: 1
{
"conta": {
"id": "01a12f69-9cba-7f71-b74d-9d28904a0651",
"numero": "CP002526",
"origem": "Despesa",
"entradaEstoqueId": null,
"documentoFornecedor": null,
"fornecedorId": null,
"fornecedorNome": null,
"numeroContribuinte": null,
"lojaId": "01a12201-f4d4-7c07-86b7-e5b24035993e",
"descricao": "Renda do armazém de Outubro",
"dataDocumento": "2026-10-11T22:00:00Z",
"vencimento": "2026-10-21T22:00:00Z",
"valor": 250000,
"valorPago": 0,
"valorCreditado": 0,
"valorEmAberto": 250000,
"diasEmAtraso": -9,
"escalao": "A vencer",
"situacao": "EmAberto",
"ultimoPagamentoEmUtc": null,
"categoriaFinanceiraId": "01a12201-f4d4-7295-b80c-b7026c5ddf68",
"categoriaNome": "Acertos de contas de cessação",
"centroCustoId": null,
"centroCustoNome": null,
"tipoDocumentoFornecedor": null,
"baseTributavel": null,
"ivaSuportado": null,
"percentagemIvaDedutivel": null,
"naturezaCompra": null
},
"pagamentos": [],
"notasCredito": []
}
/api/financeiro/contas-a-pagar/despesas#Lança uma despesa (renda, electricidade, serviços): cria uma conta a pagar, paga ou por pagar.
categoriaFinanceiraId vem de GET /api/financeiro/categorias; centroCustoId (opcional) de GET /api/financeiro/centros-custo.
Para a lançar já paga, envie valorPago e metodoPagamentoId (e dataPagamento, se foi paga noutro dia).
Se o documento é de um fornecedor, fornecedorId, documentoFornecedor e os valores fiscais alimentam o mapa de fornecedores e o SAF-T de compras.
Corpo do pedido (JSON · CriarDespesaCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
categoriaFinanceiraId | identificador (UUID) | sim | |
descricao | texto | sim | A descrição. |
valor | número | sim | O valor. |
dataDocumento | data e hora (ISO 8601) | sim | |
vencimento | data e hora (ISO 8601) | sim | O dia do vencimento. |
lojaId | identificador (UUID) ou nulo | O estabelecimento. | |
fornecedorId | identificador (UUID) ou nulo | ||
centroCustoId | identificador (UUID) ou nulo | ||
documentoFornecedor | texto ou nulo | ||
valorPago | número | ||
metodoPagamentoId | identificador (UUID) ou nulo | O método de pagamento. | |
numeroOperacaoBancaria | texto ou nulo | O número da operação bancária (opcional). | |
dataOperacaoBancaria | data e hora (ISO 8601) ou nulo | A data da operação bancária (opcional). | |
tipoDocumentoFornecedor | uma de: «FT», «FR», «GF», «FG», «AC», «AR», «TV», «TS», «RE», «NL», «TE», «ND», «null» ou nulo | ||
baseTributavel | número ou nulo | ||
ivaSuportado | número ou nulo | ||
percentagemIvaDedutivel | número ou nulo | ||
naturezaCompra | uma de: «MFI», «INV», «OBC», «SERV», «IMPT», «SCE», «null» ou nulo | ||
dataPagamento | data e hora (ISO 8601) ou nulo |
Resposta
Devolve 201 com { "id": "…" } da conta a pagar.
Erros específicos
ERRO_DE_VALIDACAO · METODO_PAGAMENTO_INACTIVO · PERIODO_FECHADO — além dos gerais.
Exemplo
Lançar uma despesa por pagar
curl -X POST 'https://<endereço-da-API>/api/financeiro/contas-a-pagar/despesas' \
-H 'Idempotency-Key: f10b2544-8d4d-42f5-8fa5-6fa1c187bb1d' \
-H 'X-Api-Key: assw_v1_<chave>' \
-H 'Content-Type: application/json' \
-d '{
"categoriaFinanceiraId": "01a12201-f4d4-7295-b80c-b7026c5ddf68",
"descricao": "Renda do armazém de Outubro",
"valor": 250000,
"dataDocumento": "2026-10-12",
"vencimento": "2026-10-22",
"lojaId": "01a12201-f4d4-7c07-86b7-e5b24035993e"
}'
const resposta = await fetch('https://<endereço-da-API>/api/financeiro/contas-a-pagar/despesas', {
method: 'POST',
headers: {
"Idempotency-Key": "f10b2544-8d4d-42f5-8fa5-6fa1c187bb1d",
"X-Api-Key": "assw_v1_<chave>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"categoriaFinanceiraId": "01a12201-f4d4-7295-b80c-b7026c5ddf68",
"descricao": "Renda do armazém de Outubro",
"valor": 250000,
"dataDocumento": "2026-10-12",
"vencimento": "2026-10-22",
"lojaId": "01a12201-f4d4-7c07-86b7-e5b24035993e"
}),
})
const dados = await resposta.json()
import requests
resposta = requests.post(
'https://<endereço-da-API>/api/financeiro/contas-a-pagar/despesas',
headers={
'Idempotency-Key': 'f10b2544-8d4d-42f5-8fa5-6fa1c187bb1d',
'X-Api-Key': 'assw_v1_<chave>',
'Content-Type': 'application/json'
},
json={
'categoriaFinanceiraId': '01a12201-f4d4-7295-b80c-b7026c5ddf68',
'descricao': 'Renda do armazém de Outubro',
'valor': 250000,
'dataDocumento': '2026-10-12',
'vencimento': '2026-10-22',
'lojaId': '01a12201-f4d4-7c07-86b7-e5b24035993e'
},
)
dados = resposta.json()
using var cliente = new HttpClient { BaseAddress = new Uri("https://<endereço-da-API>") };
using var pedido = new HttpRequestMessage(HttpMethod.Post, "/api/financeiro/contas-a-pagar/despesas");
pedido.Headers.Add("Idempotency-Key", "f10b2544-8d4d-42f5-8fa5-6fa1c187bb1d");
pedido.Headers.Add("X-Api-Key", "assw_v1_<chave>");
pedido.Content = new StringContent("""
{
"categoriaFinanceiraId": "01a12201-f4d4-7295-b80c-b7026c5ddf68",
"descricao": "Renda do armazém de Outubro",
"valor": 250000,
"dataDocumento": "2026-10-12",
"vencimento": "2026-10-22",
"lojaId": "01a12201-f4d4-7c07-86b7-e5b24035993e"
}
""", Encoding.UTF8, "application/json");
using var resposta = await cliente.SendAsync(pedido);
var texto = await resposta.Content.ReadAsStringAsync();
201 Created Resposta
content-type: application/json; charset=utf-8
x-mucanda-api-version: 1
location: /api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651
{
"id": "01a12f69-9cba-7f71-b74d-9d28904a0651"
}
/api/financeiro/contas-a-pagar/{id}/pagamentos#Regista um pagamento, parcial ou total, de uma conta a pagar.
O valor abate à dívida e nunca pode exceder o que falta. juros e desconto ajustam o valor efectivamente pago.
dataPagamento é o dia em que o dinheiro saiu (por omissão, agora); não pode ser futura.
Aceita Idempotency-Key: dois pagamentos iguais não se somam.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · RegistarPagamentoRequest)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
metodoPagamentoId | identificador (UUID) | sim | O método de pagamento. |
valor | número | sim | O valor. |
juros | número | ||
desconto | número | O desconto habitual do cliente, em percentagem. | |
numeroOperacaoBancaria | texto ou nulo | O número da operação bancária (opcional). | |
dataOperacaoBancaria | data e hora (ISO 8601) ou nulo | A data da operação bancária (opcional). | |
dataPagamento | data e hora (ISO 8601) ou nulo |
Resposta
Devolve 201 com { "id": "…" } do pagamento.
Erros específicos
METODO_PAGAMENTO_INACTIVO · PERIODO_FECHADO — além dos gerais.
Exemplo
Registar um pagamento (parcial ou total) da despesa
curl -X POST 'https://<endereço-da-API>/api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651/pagamentos' \
-H 'Idempotency-Key: 74020947-01c7-4761-b6fb-44814ba472bc' \
-H 'X-Api-Key: assw_v1_<chave>' \
-H 'Content-Type: application/json' \
-d '{
"metodoPagamentoId": "9dde532b-0092-4a68-b2dc-18649f0c97c4",
"valor": 100000,
"juros": 0,
"desconto": 0
}'
const resposta = await fetch('https://<endereço-da-API>/api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651/pagamentos', {
method: 'POST',
headers: {
"Idempotency-Key": "74020947-01c7-4761-b6fb-44814ba472bc",
"X-Api-Key": "assw_v1_<chave>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"metodoPagamentoId": "9dde532b-0092-4a68-b2dc-18649f0c97c4",
"valor": 100000,
"juros": 0,
"desconto": 0
}),
})
const dados = await resposta.json()
import requests
resposta = requests.post(
'https://<endereço-da-API>/api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651/pagamentos',
headers={
'Idempotency-Key': '74020947-01c7-4761-b6fb-44814ba472bc',
'X-Api-Key': 'assw_v1_<chave>',
'Content-Type': 'application/json'
},
json={
'metodoPagamentoId': '9dde532b-0092-4a68-b2dc-18649f0c97c4',
'valor': 100000,
'juros': 0,
'desconto': 0
},
)
dados = resposta.json()
using var cliente = new HttpClient { BaseAddress = new Uri("https://<endereço-da-API>") };
using var pedido = new HttpRequestMessage(HttpMethod.Post, "/api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651/pagamentos");
pedido.Headers.Add("Idempotency-Key", "74020947-01c7-4761-b6fb-44814ba472bc");
pedido.Headers.Add("X-Api-Key", "assw_v1_<chave>");
pedido.Content = new StringContent("""
{
"metodoPagamentoId": "9dde532b-0092-4a68-b2dc-18649f0c97c4",
"valor": 100000,
"juros": 0,
"desconto": 0
}
""", Encoding.UTF8, "application/json");
using var resposta = await cliente.SendAsync(pedido);
var texto = await resposta.Content.ReadAsStringAsync();
201 Created Resposta
content-type: application/json; charset=utf-8
x-mucanda-api-version: 1
location: /api/financeiro/contas-a-pagar/01a12f69-9cba-7f71-b74d-9d28904a0651
{
"id": "01a12f69-9d06-7c6c-b060-777703ce8592"
}
/api/financeiro/categorias#As categorias financeiras (de despesa e de receita), para classificar uma despesa.
Com tipo=Despesa só vêm as de despesa.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
tipo | na pesquisa | uma de: «Receita», «Despesa», «null» | |
incluirInactivas | na pesquisa | verdadeiro/falso |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
[].id | identificador (UUID) | Identificador único (UUID). |
[].tipo | texto | |
[].nome | texto | O nome. |
[].activa | verdadeiro/falso | |
[].deSistema | verdadeiro/falso | |
[].actividade | texto | |
[].naturezaCompraPorOmissao | texto ou nulo |
Exemplo
As categorias financeiras (para classificar uma despesa)
curl 'https://<endereço-da-API>/api/financeiro/categorias?tipo=Despesa' \
-H 'X-Api-Key: assw_v1_<chave>'
const resposta = await fetch('https://<endereço-da-API>/api/financeiro/categorias?tipo=Despesa', {
method: 'GET',
headers: {
"X-Api-Key": "assw_v1_<chave>"
},
})
const dados = await resposta.json()
import requests
resposta = requests.get(
'https://<endereço-da-API>/api/financeiro/categorias?tipo=Despesa',
headers={
'X-Api-Key': 'assw_v1_<chave>'
},
)
dados = resposta.json()
using var cliente = new HttpClient { BaseAddress = new Uri("https://<endereço-da-API>") };
using var pedido = new HttpRequestMessage(HttpMethod.Get, "/api/financeiro/categorias?tipo=Despesa");
pedido.Headers.Add("X-Api-Key", "assw_v1_<chave>");
using var resposta = await cliente.SendAsync(pedido);
var texto = await resposta.Content.ReadAsStringAsync();
200 OK Resposta
content-type: application/json; charset=utf-8
x-mucanda-api-version: 1
[
{
"id": "01a12201-f4d4-7295-b80c-b7026c5ddf68",
"tipo": "Despesa",
"nome": "Acertos de contas de cessação",
"activa": true,
"deSistema": true,
"actividade": "Operacional",
"naturezaCompraPorOmissao": null
},
{
"id": "01a12201-f4d4-766b-85fe-5a7fed7ddf11",
"tipo": "Despesa",
"nome": "Alimentação",
"activa": true,
"deSistema": false,
"actividade": "Operacional",
"naturezaCompraPorOmissao": null
},
{
"id": "01a12201-f4d4-7da5-9bdf-6bed9af13af6",
"tipo": "Despesa",
"nome": "Amortização de empréstimos",
"activa": true,
"deSistema": false,
"actividade": "Financiamento",
"naturezaCompraPorOmissao": null
},
{
"id": "01a12201-f4d4-7420-a0ca-c2c9bed0ef8c",
"tipo": "Despesa",
"nome": "Compra de equipamento",
"activa": true,
"deSistema": false,
"actividade": "Investimento",
"naturezaCompraPorOmissao": null
},
{
"id": "01a12201-f4d4-7ee6-8b97-4deb8a6fa820",
"tipo": "Despesa",
"nome": "Compra de mercadorias",
"activa": true,
"deSistema": true,
"actividade": "Operacional",
"naturezaCompraPorOmissao": null
},
{
"id": "01a12201-f4d4-7844-9dd4-70708d97a611",
"tipo": "Despesa",
"nome": "Consumíveis de escritório",
"activa": true,
"deSistema": false,
"actividade": "Operacional",
"naturezaCompraPorOmissao": null
},
{
"id": "01a12201-f4d4-7d9a-8e4b-d6b62cf1fb60",
"tipo": "Despesa",
"nome": "Energia",
"activa": true,
…
/api/financeiro/centros-custo#Os centros de custo da empresa, para imputar as despesas.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
incluirInactivos | na pesquisa | verdadeiro/falso |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
[].id | identificador (UUID) | Identificador único (UUID). |
[].nome | texto | O nome. |
[].activo | verdadeiro/falso | Se está activo. |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/centros-custo' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/contas-a-pagar/{id}/notas-credito#Regista uma nota de crédito do fornecedor sobre uma conta a pagar: abate o que falta pagar.
Envie Idempotency-Key: repetir o pedido não o executa duas vezes. Ver Idempotência.
Leva o numero do documento do fornecedor, a data, a baseTributavel, o ivaSuportado, o valor e o motivo. Se a conta já estava paga, o que sobra fica como crédito a favor da empresa (ver créditos de fornecedores).
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · RegistarNotaCreditoRequest)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
numero | texto | sim | O número legível, atribuído pelo servidor («FR LC2026/25»). |
data | data e hora (ISO 8601) | sim | A data e hora (UTC). |
baseTributavel | número | sim | |
ivaSuportado | número | sim | |
valor | número | sim | O valor. |
motivo | texto | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/contas-a-pagar/<id>/notas-credito' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"numero": "texto",
"data": "2026-10-12T09:00:00Z",
"baseTributavel": 0,
"ivaSuportado": 0,
"valor": 0,
"motivo": "texto"
}'
/api/financeiro/contas-a-pagar/despesas/resumo-mes#O resumo das despesas do mês corrente: total lançado, já pago e por pagar.
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
quantidade | número inteiro | A quantidade. |
total | número | O total. |
pago | número | |
porPagar | número |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/contas-a-pagar/despesas/resumo-mes' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/contas-a-pagar/{id}/anular#Anula uma despesa que ainda não tem pagamentos.
Exige o motivo. Uma despesa já paga corrige-se estornando primeiro os pagamentos.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · AnularDespesaRequest)
| Campo | Tipo | Obrigatório |
|---|---|---|
motivo | texto | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/contas-a-pagar/<id>/anular' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"motivo": "texto"
}'
/api/financeiro/contas-a-pagar/{id}/pagamentos/{pagamentoId}/estornar#Estorna um pagamento a um fornecedor: a dívida reabre.
Um pagamento só se estorna uma vez.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
pagamentoId | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · EstornarPagamentoRequest)
| Campo | Tipo | Obrigatório |
|---|---|---|
motivo | texto | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/contas-a-pagar/<id>/pagamentos/<pagamentoId>/estornar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"motivo": "texto"
}'
/api/financeiro/despesas-recorrentes#As despesas recorrentes (renda, seguros, rendas de equipamento…).
estado filtra por estado. O sistema lança a despesa de cada ciclo; nunca a paga sozinho.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
estado | na pesquisa | uma de: «Activo», «Pausado», «Concluido», «Cancelado», «null» |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
[].id | identificador (UUID) | Identificador único (UUID). |
[].numero | texto | O número legível, atribuído pelo servidor («FR LC2026/25»). |
[].lojaId | identificador (UUID) | O estabelecimento. |
[].categoriaFinanceiraId | identificador (UUID) | |
[].categoriaNome | texto | |
[].descricao | texto | A descrição. |
[].valor | número | O valor. |
[].fornecedorId | identificador (UUID) ou nulo | |
[].fornecedorNome | texto ou nulo | |
[].centroCustoId | identificador (UUID) ou nulo | |
[].centroCustoNome | texto ou nulo | |
[].frequencia | texto | |
[].diaLancamento | número inteiro | |
[].prazoPagamentoDias | número inteiro | |
[].dataInicio | data (AAAA-MM-DD) | |
[].dataFim | data (AAAA-MM-DD) ou nulo | |
[].proximaEmissao | data (AAAA-MM-DD) | |
[].estado | texto | O estado actual. |
[].pendente | verdadeiro/falso | |
[].ciclosEmAtraso | número inteiro | |
[].observacao | texto ou nulo | O texto livre. |
[].criadaEmUtc | data e hora (ISO 8601) |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/despesas-recorrentes' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/despesas-recorrentes/resumo#O resumo das despesas recorrentes: quantas, quanto por mês e quantas estão pendentes de lançar.
Resposta (200 · JSON)
| Campo | Tipo |
|---|---|
activas | número inteiro |
custoMensalEquivalente | número |
pendentes | número inteiro |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/despesas-recorrentes/resumo' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/despesas-recorrentes/{id}#A ficha de uma despesa recorrente, com as despesas que já gerou.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
despesa | objecto | |
despesa.id | identificador (UUID) | Identificador único (UUID). |
despesa.numero | texto | O número legível, atribuído pelo servidor («FR LC2026/25»). |
despesa.lojaId | identificador (UUID) | O estabelecimento. |
despesa.categoriaFinanceiraId | identificador (UUID) | |
despesa.categoriaNome | texto | |
despesa.descricao | texto | A descrição. |
despesa.valor | número | O valor. |
despesa.fornecedorId | identificador (UUID) ou nulo | |
despesa.fornecedorNome | texto ou nulo | |
despesa.centroCustoId | identificador (UUID) ou nulo | |
despesa.centroCustoNome | texto ou nulo | |
despesa.frequencia | texto | |
despesa.diaLancamento | número inteiro | |
despesa.prazoPagamentoDias | número inteiro | |
despesa.dataInicio | data (AAAA-MM-DD) | |
despesa.dataFim | data (AAAA-MM-DD) ou nulo | |
despesa.proximaEmissao | data (AAAA-MM-DD) | |
despesa.estado | texto | O estado actual. |
despesa.pendente | verdadeiro/falso | |
despesa.ciclosEmAtraso | número inteiro | |
despesa.observacao | texto ou nulo | O texto livre. |
despesa.criadaEmUtc | data e hora (ISO 8601) | |
historico | lista de objectos | |
historico[].id | identificador (UUID) | Identificador único (UUID). |
historico[].cicloData | data (AAAA-MM-DD) | |
historico[].executadaEmUtc | data e hora (ISO 8601) | |
historico[].estado | texto | O estado actual. |
historico[].contaAPagarId | identificador (UUID) ou nulo | |
historico[].contaNumero | texto ou nulo | |
historico[].erro | texto ou nulo |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/despesas-recorrentes/<id>' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/despesas-recorrentes#Cria uma despesa recorrente.
Os campos (descrição, valor, categoria, prazo de pagamento, periodicidade…) estão no esquema do pedido. Devolve o id.
Corpo do pedido (JSON · CriarDespesaRecorrenteCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
categoriaFinanceiraId | identificador (UUID) | sim | |
descricao | texto | sim | A descrição. |
valor | número | sim | O valor. |
frequencia | uma de: «Mensal», «Trimestral», «Semestral», «Anual» | sim | |
diaLancamento | número inteiro | sim | |
prazoPagamentoDias | número inteiro | sim | |
dataInicio | data (AAAA-MM-DD) | sim | |
dataFim | data (AAAA-MM-DD) ou nulo | ||
fornecedorId | identificador (UUID) ou nulo | ||
centroCustoId | identificador (UUID) ou nulo | ||
lojaId | identificador (UUID) ou nulo | O estabelecimento. | |
observacao | texto ou nulo | O texto livre. |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/despesas-recorrentes' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"categoriaFinanceiraId": "00000000-0000-0000-0000-000000000000",
"descricao": "texto",
"valor": 0,
"frequencia": "Mensal",
"diaLancamento": 1,
"prazoPagamentoDias": 1,
"dataInicio": "2026-10-12"
}'
/api/financeiro/despesas-recorrentes/{id}#Altera uma despesa recorrente; vale para os ciclos seguintes.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · EditarDespesaRecorrenteRequest)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
descricao | texto | sim | A descrição. |
valor | número | sim | O valor. |
categoriaFinanceiraId | identificador (UUID) | sim | |
prazoPagamentoDias | número inteiro | sim | |
fornecedorId | identificador (UUID) ou nulo | ||
centroCustoId | identificador (UUID) ou nulo | ||
observacao | texto ou nulo | O texto livre. |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/financeiro/despesas-recorrentes/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"descricao": "texto",
"valor": 0,
"categoriaFinanceiraId": "00000000-0000-0000-0000-000000000000",
"prazoPagamentoDias": 1
}'
/api/financeiro/despesas-recorrentes/{id}/pausar#Pausa uma despesa recorrente: deixa de lançar até ser retomada.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/despesas-recorrentes/<id>/pausar' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/despesas-recorrentes/{id}/retomar#Retoma uma despesa recorrente pausada.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/despesas-recorrentes/<id>/retomar' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/despesas-recorrentes/{id}/cancelar#Cancela uma despesa recorrente: não volta a lançar. As despesas já lançadas mantêm-se.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/despesas-recorrentes/<id>/cancelar' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/despesas-recorrentes/lancar-pendentes#Lança agora todas as despesas recorrentes que estão por lançar.
Pode demorar (uma despesa por ciclo em atraso). Devolve lancadas, falhadas (com as falhas) e restantes.
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
lancadas | número inteiro | |
falhadas | número inteiro | |
falhas | lista de objectos | |
falhas[].numero | texto | O número legível, atribuído pelo servidor («FR LC2026/25»). |
falhas[].erro | texto | |
restantes | número inteiro |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/despesas-recorrentes/lancar-pendentes' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/mapa-fornecedores#O Mapa de Fornecedores de um mês, para a declaração à AGT: a pré-visualização.
periodo obrigatório, como AAAA-MM. Precisa da permissão de exportação fiscal (a mesma do SAF-T).
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
periodo | na pesquisa | texto | sim |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
nifContribuinte | texto | |
periodo | texto | |
linhas | lista de objectos | |
linhas[].numeroOrdem | número inteiro | |
linhas[].nifEmAngola | texto | |
linhas[].nif | texto | |
linhas[].nome | texto | O nome. |
linhas[].tipoDocumento | texto | |
linhas[].data | data (AAAA-MM-DD) | A data e hora (UTC). |
linhas[].numeroDocumento | texto | |
linhas[].valorFactura | número | |
linhas[].valorTributavel | número | |
linhas[].ivaSuportado | número | |
totalValorFactura | número | |
totalValorTributavel | número | |
totalIvaSuportado | número | |
despesasSemDocumento | número inteiro | |
valorDespesasSemDocumento | número | |
perguntasPorConfirmar | lista de texto | |
avisos | lista de texto |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/mapa-fornecedores' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/mapa-fornecedores/excel#O Mapa de Fornecedores de um mês no modelo Excel da AGT.
periodo obrigatório (AAAA-MM). A resposta é o ficheiro.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
periodo | na pesquisa | texto | sim |
Resposta
Devolve 200 com o ficheiro Excel (.xlsx).
Pedido
curl 'https://<endereço-da-API>/api/financeiro/mapa-fornecedores/excel' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/categorias#Cria uma categoria financeira (de receita ou de despesa).
Devolve o id. As categorias de sistema (por exemplo, «Compra de mercadorias») não se criam nem se mudam.
Corpo do pedido (JSON · CriarCategoriaFinanceiraCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
tipo | uma de: «Receita», «Despesa», «null» | sim | |
nome | texto | sim | O nome. |
actividade | uma de: «Operacional», «Investimento», «Financiamento» |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/categorias' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"tipo": "Receita",
"nome": "texto"
}'
/api/financeiro/categorias/{id}#Renomeia uma categoria financeira.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · NomeRequest)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
nome | texto | sim | O nome. |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/financeiro/categorias/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto"
}'
/api/financeiro/categorias/{id}/actividade#Define a actividade do fluxo de caixa a que uma categoria pertence.
actividade é uma de: Operacional (o dia a dia do negócio), Investimento (activos de longo prazo) ou Financiamento (capital e dívida).
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · ActividadeRequest)
| Campo | Tipo | Obrigatório |
|---|---|---|
actividade | uma de: «Operacional», «Investimento», «Financiamento» | sim |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/financeiro/categorias/<id>/actividade' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"actividade": "Operacional"
}'
/api/financeiro/categorias/{id}/valores-fiscais#Define a natureza fiscal da compra por omissão de uma categoria de despesa.
naturezaCompra é a natureza que as despesas desta categoria levam no Mapa de Fornecedores e no SAF-T de compras; nula = sem valor por omissão.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · ValoresFiscaisCategoriaRequest)
| Campo | Tipo | Obrigatório |
|---|---|---|
naturezaCompra | uma de: «MFI», «INV», «OBC», «SERV», «IMPT», «SCE», «null» ou nulo |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/financeiro/categorias/<id>/valores-fiscais' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/financeiro/categorias/{id}/activa#Activa ou desactiva uma categoria financeira.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · ActivaRequest)
| Campo | Tipo | Obrigatório |
|---|---|---|
activa | verdadeiro/falso | sim |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/financeiro/categorias/<id>/activa' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"activa": false
}'
/api/financeiro/centros-custo#Cria um centro de custo.
Devolve o id.
Corpo do pedido (JSON · CriarCentroCustoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
nome | texto | sim | O nome. |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/centros-custo' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto"
}'
/api/financeiro/centros-custo/{id}#Renomeia um centro de custo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · NomeRequest)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
nome | texto | sim | O nome. |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/financeiro/centros-custo/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto"
}'
/api/financeiro/centros-custo/{id}/activo#Activa ou desactiva um centro de custo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · ActivoRequest)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
activo | verdadeiro/falso | sim | Se está activo. |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/financeiro/centros-custo/<id>/activo' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"activo": false
}'
/api/financeiro/creditos-fornecedor#Os créditos a favor da empresa junto dos fornecedores (o que sobra de uma nota de crédito sobre uma factura já paga).
fornecedorId filtra por fornecedor; apenasDisponiveis (por omissão verdadeiro) esconde os já gastos.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
fornecedorId | na pesquisa | identificador (UUID) | |
apenasDisponiveis | na pesquisa | verdadeiro/falso |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
[].id | identificador (UUID) | Identificador único (UUID). |
[].fornecedorId | identificador (UUID) | |
[].fornecedorNome | texto | |
[].lojaId | identificador (UUID) | O estabelecimento. |
[].notaCreditoId | identificador (UUID) | |
[].notaCreditoNumero | texto | |
[].notaCreditoData | data e hora (ISO 8601) | |
[].contaAPagarId | identificador (UUID) | |
[].contaAPagarNumero | texto | |
[].valor | número | O valor. |
[].valorUtilizado | número | |
[].valorDisponivel | número | |
[].criadoEmUtc | data e hora (ISO 8601) | Quando o evento aconteceu (UTC). |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/creditos-fornecedor' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/creditos-fornecedor/{id}#Um crédito de fornecedor, com as utilizações que já teve.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Resposta (200 · JSON)
| Campo | Tipo | Significado |
|---|---|---|
credito | objecto | |
credito.id | identificador (UUID) | Identificador único (UUID). |
credito.fornecedorId | identificador (UUID) | |
credito.fornecedorNome | texto | |
credito.lojaId | identificador (UUID) | O estabelecimento. |
credito.notaCreditoId | identificador (UUID) | |
credito.notaCreditoNumero | texto | |
credito.notaCreditoData | data e hora (ISO 8601) | |
credito.contaAPagarId | identificador (UUID) | |
credito.contaAPagarNumero | texto | |
credito.valor | número | O valor. |
credito.valorUtilizado | número | |
credito.valorDisponivel | número | |
credito.criadoEmUtc | data e hora (ISO 8601) | Quando o evento aconteceu (UTC). |
utilizacoes | lista de objectos | |
utilizacoes[].id | identificador (UUID) | Identificador único (UUID). |
utilizacoes[].tipo | texto | |
utilizacoes[].valor | número | O valor. |
utilizacoes[].data | data e hora (ISO 8601) | A data e hora (UTC). |
utilizacoes[].contaAPagarId | identificador (UUID) ou nulo | |
utilizacoes[].contaAPagarNumero | texto ou nulo | |
utilizacoes[].receitaAvulsaId | identificador (UUID) ou nulo | |
utilizacoes[].estornoDaUtilizacaoId | identificador (UUID) ou nulo | |
utilizacoes[].estornada | verdadeiro/falso | |
utilizacoes[].motivo | texto ou nulo | |
utilizacoes[].registadaEmUtc | data e hora (ISO 8601) |
Pedido
curl 'https://<endereço-da-API>/api/financeiro/creditos-fornecedor/<id>' \
-H 'X-Api-Key: <a-sua-chave>'
/api/financeiro/creditos-fornecedor/{id}/compensar#Usa um crédito para abater outra conta a pagar do mesmo fornecedor.
Envie Idempotency-Key: repetir o pedido não o executa duas vezes. Ver Idempotência.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · CompensarCreditoRequest)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
contaAPagarId | identificador (UUID) | sim | |
valor | número | sim | O valor. |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/creditos-fornecedor/<id>/compensar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"contaAPagarId": "00000000-0000-0000-0000-000000000000",
"valor": 0
}'
/api/financeiro/creditos-fornecedor/{id}/reembolsar#Recebe um crédito em dinheiro: o fornecedor devolve o valor à empresa.
Envie Idempotency-Key: repetir o pedido não o executa duas vezes. Ver Idempotência.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · ReembolsarCreditoRequest)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
metodoPagamentoId | identificador (UUID) | sim | O método de pagamento. |
valor | número | sim | O valor. |
data | data e hora (ISO 8601) ou nulo | A data e hora (UTC). | |
referencia | texto ou nulo |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/creditos-fornecedor/<id>/reembolsar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"metodoPagamentoId": "00000000-0000-0000-0000-000000000000",
"valor": 0
}'
/api/financeiro/creditos-fornecedor/utilizacoes/{utilizacaoId}/desfazer#Desfaz uma utilização de um crédito (uma compensação ou um reembolso), com o motivo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
utilizacaoId | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · DesfazerUtilizacaoRequest)
| Campo | Tipo | Obrigatório |
|---|---|---|
motivo | texto | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/financeiro/creditos-fornecedor/utilizacoes/<utilizacaoId>/desfazer' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"motivo": "texto"
}'