Saltar para o conteúdo principal

document

Documento

Documento com extração por OCR/IA e mapeamento dos campos extraídos para colunas do cabeçalho e das linhas.

  • Kind: component
  • Key: document
  • Categoria: ficheiro
  • Envelope: mapa (um objeto JSON em config)

Campos

ChaveTipoObrigatórioOmissãoDescriçãoReferência
buttonLabelstringnão-Rótulo do botão de carregar.-
hintTextstringnão-Texto de ajuda do campo.-
allowedExtensionslist de stringnão["pdf","jpg","jpeg","png","bmp","gif","webp"]Extensões aceites.-
maxFileSizeMBintegernão-Tamanho máximo do documento em MB; vazio = sem limite.-
enableOCRbooleannãotrueExtrai o texto do documento por OCR.-
enableAIProcessingbooleannãotruePassa o texto extraído por um modelo de IA para o estruturar.-
ocrProviderenumerationnão"google_ml_kit"Motor de OCR usado.-
aiProviderenumerationnão"openai"Fornecedor do modelo que estrutura a extração.-
openaiApiKeystringnão-Chave de API do fornecedor de IA: é um SEGREDO da organização e nunca sai num template. Segredo. O exportador substitui este valor por vazio e nomeia o caminho em redacted[]: nunca sai num pacote de template. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
aiPromptstringnão-Instrução de extração escrita pelo utilizador; vazio usa a do tipo de documento. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
expectedStructurejsonnão-Estrutura JSON que se espera da extração, escrita pelo utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui.-
autoProcessbooleannãofalseProcessa o documento logo ao carregar, sem esperar pelo botão.-
showPreviewbooleannãotrueMostra a pré-visualização do documento.-
pdfRenderDPInumbernão150Resolução a que as páginas do PDF são rasterizadas antes do OCR.-
processAllPagesbooleannãotrueProcessa todas as páginas; falso processa só a primeira.-
maxPagesToProcessintegernão-Máximo de páginas processadas; vazio = sem limite.-
combinePageTextsbooleannãotrueJunta o texto de todas as páginas numa só extração.-
saveDocumentbooleannãotrueGuarda o documento original no bucket além da extração.-
autoFillFieldsbooleannãotruePreenche as colunas mapeadas com os valores extraídos.-
headerMappingsmapnão{}Caminho na extração → coluna DESTA tabela que recebe o valor do cabeçalho.-
linesMappingsmapnão{}Caminho dentro de cada linha extraída → coluna da tabela das linhas que recebe o valor.-
linesTargetFeatureIduuidnão-Tabela onde se criam as linhas do documento; vazio só preenche o cabeçalho.feature (uuid)
linesNumberColumnNamestringnão-Coluna da tabela das linhas que recebe o número de ordem.coluna de linesTargetFeatureId (nome)
headerIdColumnNamestringnão-Coluna DESTA tabela que identifica o cabeçalho nas linhas.coluna (nome)
linesHeaderIdColumnNamestringnão-Coluna da tabela das linhas que recebe o id do cabeçalho.coluna de linesTargetFeatureId (nome)
autoMatchFieldsmapnão{}Campo da linha → onde procurar o registo que lhe corresponde.-
enableAutoMatchingbooleannãofalseLiga o auto-match nos campos das linhas.-
headerAutoMatchFieldsmapnão{}Coluna do cabeçalho (por nome) → onde procurar o registo que lhe corresponde.chave: coluna (nome)
enableHeaderAutoMatchingbooleannãofalseLiga o auto-match nos campos do cabeçalho.-
headerCreationMappingsmapnão{}Coluna do cabeçalho (as MESMAS chaves de headerAutoMatchFields) → o que a criação do registo em falta leva.chave: coluna (nome)
lineCreationMappingsmapnão{}Campo da linha (as MESMAS chaves de autoMatchFields) → o que a criação do registo em falta leva.-
ocrApiEndpointstringnão-URL de um serviço de OCR próprio; vazio usa o do produto.-
useOcrForAllDocumentsbooleannãofalseForça o OCR mesmo em documentos com texto embutido.-
documentTypeenumerationnão"invoice"Editor usado na revisão: fatura (com linhas e totais) ou genérico.-
requiredExtractionFieldslist de stringnão-Caminhos da extração marcados como CRÍTICOS: em falta, o editor avisa antes de gravar (nunca bloqueia). Só na fatura.-

autoMatchFields{}

Cada entrada de autoMatchFields é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
featureIduuidnão-Tabela onde se procura a linha correspondente.feature (uuid)
searchColumnstringnão-Coluna dessa tabela onde se procura o texto extraído.coluna de featureId (nome)
valueColumnstringnão-Coluna dessa tabela cujo valor fica na célula do match.coluna de featureId (nome)
displayColumnstringnão-Coluna dessa tabela que se mostra ao utilizador.coluna de featureId (nome)
renderTypestringnão-Reservado para a forma de render do campo; hoje só "textfield".-

headerAutoMatchFields{}

Cada entrada de headerAutoMatchFields é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
featureIduuidnão-Tabela onde se procura a linha correspondente.feature (uuid)
searchColumnstringnão-Coluna dessa tabela onde se procura o texto extraído.coluna de featureId (nome)
valueColumnstringnão-Coluna dessa tabela cujo valor fica na célula do match.coluna de featureId (nome)
displayColumnstringnão-Coluna dessa tabela que se mostra ao utilizador.coluna de featureId (nome)
renderTypestringnão-Reservado para a forma de render do campo; hoje só "textfield".-

headerCreationMappings{}[]

Cada elemento de cada entrada de headerCreationMappings é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
targetColumnstringnão-Coluna a preencher na tabela do auto-match deste campo do cabeçalho. uuid OU nome: buildCreationOverrides aceita os dois.coluna da mesma chave de headerAutoMatchFields (uuid ou nome)
sourceFieldstringnão-Caminho do valor na extração do documento (ex.: "supplier.taxId").-

lineCreationMappings{}[]

Cada elemento de cada entrada de lineCreationMappings é um objeto:

ChaveTipoObrigatórioOmissãoDescriçãoReferência
targetColumnstringnão-Coluna a preencher na tabela do auto-match deste campo da linha. uuid OU nome: buildCreationOverrides aceita os dois.coluna da mesma chave de autoMatchFields (uuid ou nome)
sourceFieldstringnão-Chave do valor dentro da linha extraída (ex.: "unit").-

Exemplo JSON

{
"allowedExtensions": [
"pdf",
"jpg",
"jpeg",
"png",
"bmp",
"gif",
"webp"
],
"enableOCR": true,
"enableAIProcessing": true,
"ocrProvider": "google_ml_kit",
"aiProvider": "openai",
"autoProcess": false,
"showPreview": true,
"pdfRenderDPI": 150,
"processAllPages": true,
"combinePageTexts": true,
"saveDocument": true,
"autoFillFields": true,
"headerMappings": {},
"linesMappings": {},
"autoMatchFields": {},
"enableAutoMatching": false,
"headerAutoMatchFields": {},
"enableHeaderAutoMatching": false,
"headerCreationMappings": {},
"lineCreationMappings": {},
"useOcrForAllDocuments": false,
"documentType": "invoice"
}

Gerado de definitions.json versão 17f3e0bc59d9. Esta página nasce no build: não se edita à mão.