Organisations API
Gere as empresas associadas à tua conta. Cada empresa tem o seu próprio NIF, chaves AGT, séries fiscais e clientes.
Criar Empresa
/v1/organisationsRequer o token de sessão (login), não uma API key - normalmente feito uma vez, no dashboard, ao criar a conta.
{
"name": "Empresa Exemplo, Lda",
"taxId": "5000123456",
"email": "geral@exemplo.ao",
"legalName": "Empresa Exemplo Comércio e Serviços, Lda",
"phone": "923456789",
"website": "https://exemplo.ao",
"ivaRegime": "geral",
"address": { "line1": "Rua da Missão, 123", "city": "Luanda", "province": "Luanda", "country": "AO" },
"bankAccounts": [
{ "bankName": "BAI", "bankIban": "AO06...", "bankAccount": "123456789" }
]
}Ver Detalhes da Empresa
/v1/organisations/:idResposta
{
"id": "779b90ce-...",
"userId": "a1b2c3d4-...",
"name": "Empresa Exemplo, Lda",
"legalName": "Empresa Exemplo Comércio e Serviços, Lda",
"taxId": "5000123456",
"email": "geral@exemplo.ao",
"phone": "923456789",
"website": "https://exemplo.ao",
"addressLine1": "Rua da Missão, 123",
"city": "Luanda",
"province": "Luanda",
"country": "AO",
"bankAccounts": [{ "bankName": "BAI", "bankIban": "AO06...", "bankAccount": "123456789" }],
"logoUrl": null,
"ivaRegime": "geral",
"defaultTaxRate": 14,
"invoiceFormat": "a4",
"withholdingTaxEnabled": true,
"partialPaymentsEnabled": true,
"withholdingTaxType": "II",
"withholdingTaxRate": 650,
"withholdingTaxThreshold": 2000000,
"status": "active",
"agtKeysConfigured": true,
"createdAt": "2026-05-12T10:00:00.000Z",
"updatedAt": "2026-05-12T10:00:00.000Z"
}Nota: agtKeysConfigured é um booleano - as chaves AGT em si nunca são devolvidas por este endpoint, por segurança.
Os campos withholdingTax* controlam a retenção na fonte (Art. 67º do Código do Imposto Industrial). A retenção e os pagamentos parciais estão sempre ligados:withholdingTaxEnabled e partialPaymentsEnabled vêm sempre true e, se enviados no PATCH, são ignorados.withholdingTaxType é 'II' (Imposto Industrial) ou 'IRT' (pessoa singular/ENI); withholdingTaxRate é a percentagem × 100 (650 = 6,50%); withholdingTaxThreshold é o valor mínimo em kwanzas × 100 abaixo do qual a retenção não se aplica. Actualizável via PATCH (também disponível no dashboard, em Definições → Perfil). Ver applyWithholdingTax na Invoices API.
Contas de tesouraria (bancos, caixa, TPA)
Onde a empresa recebe o dinheiro. O id de uma conta vai em receivedIn ao emitir uma factura-recibo, converter uma proforma em FR ou emitir um recibo. Registar contas não tem limite; as marcadas com showOnDocuments (máx. 3, só bancos) são as impressas nas facturas e aparecem em bankAccounts. Todas as empresas têm uma Caixa. O campo bankAccounts no criar/editar empresa continua a funcionar: a lista enviada passa a ser a das contas mostradas nos documentos.
/v1/organisations/:orgId/treasury-accountsLista as contas (type: bank | cash | tpa, shortLabel, isDefault, showOnDocuments)/v1/organisations/:orgId/treasury-accountsCria uma conta: type, bankName, iban, holder, accountNumber, swift, label, showOnDocuments, isDefault, settlesToAccountId (TPA)/v1/organisations/:orgId/treasury-accounts/:idEdita, torna por omissão (isDefault) ou arquiva (archived)/v1/organisations/:orgId/treasury-accounts/:idRemove; se já foi usada em documentos ou extratos, arquiva/v1/organisations/:orgId/treasury/overview?year&monthSaldo de cada conta no mês: saldo no início, entradas, saídas, saldo final e comparação com o último extrato/v1/organisations/:orgId/treasury/accounts/:id/ledger?year&monthMovimentos de uma conta no mês com saldo corrido/v1/organisations/:orgId/treasury/accounts/:id/openingSaldo inicial: openingBalance (cêntimos) no fim do dia openingDate/v1/organisations/:orgId/treasury/movementsRegista saída (out), entrada sem documento (in) ou transferência (transfer, com fee e linkedDocs para depósitos de caixa)/v1/organisations/:orgId/treasury/movements/:idApaga um movimento registado à mãoOutros endpoints
/v1/organisationsLista as empresas a que tens acesso/v1/organisations/:idActualiza campos (mesma forma do corpo de criação)/v1/organisations/:id/logoUpload do logótipo (multipart/form-data)/v1/organisations/:id/agt-keysRegista/actualiza as chaves AGT - ver Primeiros Passos/v1/organisations/:id/agt-keys/statusVerifica se as chaves estão configuradas, sem as devolver/v1/organisations/:id/agt-keysRemove as chaves AGT/v1/organisations/:idRemove a empresaPara o processo completo de configuração (chaves AGT, dados bancários, API keys), ver Primeiros Passos.