2.5 KiB
2.5 KiB
Why
Atualmente a categoria de um documento fiscal só é atribuída automaticamente durante a importação em lote (confirm_batch), com base em palavra-chave. Ao cadastrar um documento manualmente pela tela "Novo Documento" (/documents/new) não há como escolher a categoria, então o registro fica sempre com categoria_id nulo. Além disso, nem a Dashboard ("Últimos documentos") nem a listagem /documents exibem a categoria do lançamento, dificultando a conferência visual de como os documentos foram classificados.
What Changes
- Adicionar campo select "Categoria" ao formulário de novo documento (
/documents/new), populado a partir da tabelacategoriaordenada por nome (ASC), permitindo escolher a categoria no cadastro manual. - Persistir o
categoria_idselecionado ao criar (e editar, quando aplicável) o documento fiscal, passando a informação paracreate_fiscal/update_fiscal. - Incluir coluna "Categoria" na tabela "Últimos documentos" do Dashboard, posicionada logo após a coluna "Fornecedor".
- Incluir coluna "Categoria" na tabela de listagem da rota
/documents, posicionada logo após a coluna "Fornecedor". - Ajustar a consulta de listagem de documentos (
list_fiscalou variante) para trazer o nome da categoria via LEFT JOIN com a tabelacategoria, já que a consulta atual não expõe esse dado.
Capabilities
New Capabilities
document-categorization: Cobre a seleção de categoria no formulário de novo documento e a persistência do vínculo documento-categoria.document-listing-category-column: Cobre a exibição da coluna "Categoria" nas listagens de documentos (Dashboard "Últimos documentos" e rota/documents), logo após a coluna "Fornecedor".
Modified Capabilities
(nenhuma — não há specs existentes em openspec/specs/; os itens acima são tratados como novas capacidades)
Impact
- Código afetado:
app/routes/documents_routes.py(rota/documents/newecreate_document),app/templates/document_form.html,app/database.py(create_fiscal,update_fiscal,list_fiscal, uso delist_categorias),app/routes/dashboard_routes.py,app/templates/dashboard.html,app/templates/documents_list.html. - Banco de dados: nenhuma alteração de schema — a coluna
fiscal_documents.categoria_idjá existe; apenas passa a ser preenchida também no fluxo manual. - Compatibilidade: campo "Categoria" no formulário é opcional (documentos sem categoria continuam válidos, exibindo "Não Encontrado" ou vazio); sem impacto em dados existentes.