Pular para o conteúdo principal

Upload de Documentos

Adicione documentos comprobatórios a uma despesa ou contrato. Os documentos passam por análise da QI Tech e são obrigatórios para a submissão da despesa.

Atalho na criação

Você pode incluir documentos diretamente no body da criação da despesa — nesse caso, a despesa já entra em pending_adm_approval sem precisar chamar este endpoint separadamente.

Tipos de documento aceitos
  • invoice — Nota fiscal eletrônica (NF-e)
  • calculation_memory — Memória de cálculo ou planilha de apuração
  • contract — Contrato do serviço prestado
  • bank_slip — Boleto bancário

Upload de documento em despesa

ENDPOINT
/expense_submission/fund_class/{fund_class_key}/contract/{contract_key}/expense/{expense_key}/document
MÉTODO
POST

Path params

ParâmetroTipoDescrição
fund_class_keystringChave única do fundo (UUID)
contract_keystringChave única do contrato
expense_keystringChave única da despesa (UUID)
Request Body
{
"name": "NF-e 001234 - Auditoria jun/2026",
"document_type": "invoice",
"document_b64": "JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwKL0xlbmd0aCAzIDAgUgo..."
}

Atributos do body

CampoTipoObrigatoriedadeDescrição
namestringobrigatórioNome do documento. Máximo de 255 caracteres.
document_typestringobrigatórioTipo do documento: invoice, calculation_memory, contract ou bank_slip.
document_b64stringobrigatórioConteúdo do arquivo codificado em Base64.

Response

STATUS
201
Response Body
{
"name": "NF-e 001234 - Auditoria jun/2026",
"expense_document_key": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
"expense_key": "7f3e9a1b-2c4d-5e6f-8901-abcdef234567",
"document_type": "invoice",
"status": "pending_adm_approval"
}

Atributos da resposta

CampoTipoDescrição
namestringNome do documento.
expense_document_keystringChave única do documento (UUID).
expense_keystringChave da despesa à qual o documento pertence.
document_typestringTipo do documento.
statusstringStatus inicial do documento. Sempre retorna pending_adm_approval.

Upload de documento em contrato

Documentos também podem ser vinculados diretamente ao contrato (ex: o contrato do serviço prestado).

ENDPOINT
/expense_submission/fund_class/{fund_class_key}/contract/{contract_key}/document
MÉTODO
POST

Path params

ParâmetroTipoDescrição
fund_class_keystringChave única do fundo (UUID)
contract_keystringChave única do contrato

O body e os atributos da resposta seguem a mesma estrutura do upload em despesa, com os campos contract_document_key e contract_key no lugar de expense_document_key e expense_key.

Response Body
{
"name": "Contrato de Prestação de Serviços - Auditoria 2026",
"contract_document_key": "e5f6a7b8-c9d0-1234-ef56-7890abcdef12",
"contract_key": "contrato-auditoria-2026",
"document_type": "contract",
"status": "pending_adm_approval"
}

Consultar documento por chave

Recupere os dados de um documento e acesse o link para download do arquivo.

Documento de despesa

ENDPOINT
/expense_submission/fund_class/{fund_class_key}/contract/{contract_key}/expense/{expense_key}/document/{document_key}
MÉTODO
GET
Response Body
{
"name": "NF-e 001234 - Auditoria jun/2026",
"expense_document_key": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
"expense_key": "7f3e9a1b-2c4d-5e6f-8901-abcdef234567",
"document_type": "invoice",
"status": "approved",
"document_url": "https://storage.example.com/documents/NF-001234.pdf?X-Amz-Expires=3600&..."
}
CampoTipoDescrição
document_urlstringURL pré-assinada para download do arquivo. Válida por tempo limitado.
statusstringStatus do documento: pending_adm_approval, approved ou rejected.

Possíveis erros

STATUS
404
Despesa não encontrada

O conjunto de chaves na URL não corresponde a nenhuma despesa cadastrada.

{
"title": "Expense Not Found",
"description": "Expense with key {expense_key} was not found.",
"translation": "A despesa com chave {expense_key} não foi encontrada.",
"code": "ESB000016"
}
Documento não encontrado

O document_key informado não corresponde a nenhum documento cadastrado para esta despesa.

{
"title": "Document Not Found",
"description": "Document with key {document_key} was not found.",
"translation": "O documento com chave {document_key} não foi encontrado.",
"code": "ESB000015"
}
STATUS
400
Formato do documento inválido

O conteúdo em document_b64 não é um Base64 válido ou o formato do arquivo não é suportado.

{
"title": "Invalid Document Format",
"description": "The document format is invalid.",
"translation": "Formato do documento invalido.",
"code": "ESB000014"
}

Próximos passos

Com ao menos um documento em pending_adm_approval ou approved, a despesa está pronta para ser submetida:

Submeter a despesa — encaminhe para análise da QI Tech.