{ "version": "SGF-SOLUTION-CLOSURE-v30", "target": "existing8085", "sgc_required": false, "new_demonstrations": false, "modules": [ { "id": "commercial", "label": "Comercial", "features": [ "Clientes e serviços com associação explícita", "Rascunho, revisão e cálculo", "Documento emitido de teste e PDF", "Continuação para recebível sem duplicação", "Orçamentos Comercial/Oficina, revisão e aceitação documentadas e conversão explícita em rascunho", "Recibo de afectação efectiva400, crédito nominal100/saldo500 e factura-recibo1000 atómica", "PDF/SHA, histórico e anulação técnica com reversão explícita e diário único", "Registo unificado autorizado com seis famílias, filtros/SQL25/100 e projecções limitadas à página", "Início operacional com percurso, evidências, funções autorizadas e consulta explícita das fontes existentes", "Editor unificado1–25 serviços, imposto acrescido/incluído, cálculo comum revisto, PDF e passagem explícita recebível/diário QA" ], "required_host_tables": [ "a_clients", "a_services", "a_service_drafts", "a_billing_drafts", "b_internal_confirmations", "doc_records", "document_preview_models", "service_calculation_profiles", "sf_proposals", "si_invoices", "sd_versions", "sd_outputs", "sd_commands", "sd_cancellations", "mi_meta", "mi_calculations", "mi_commands", "mi_draft_meta", "mi_drafts" ], "required_source_files": [ "app/Modules/Services/ServiceWorkflow.php", "app/Modules/Services/ServiceInvoicing.php", "resources/js/ServicesWorkspace.jsx", "resources/js/ServiceInvoiceWorkspace.jsx", "app/Modules/Services/ServiceDocuments.php", "app/Modules/Services/DocumentPeriod.php", "app/Modules/Services/BillingRegister.php", "resources/js/BillingRegisterWorkspace.jsx", "resources/js/WorkspaceHome.jsx", "resources/js/workspace-overview.js", "app/Modules/Services/MultiLineInvoiceCalculation.php", "app/Modules/Services/MultiLineInvoiceIssuance.php", "app/Modules/Services/MultiLineDrafts.php", "app/Modules/Services/QualifiedInvoiceSource.php", "resources/js/MultiLineInvoiceWorkspace.jsx" ], "proofs": [ "docs/proofs/invoice-test-results.json", "docs/proofs/sgf-six-module-functional-review-20261110.json", "docs/SGF_SERVICE_DOCUMENTS_DELIVERY.md", "docs/SGF_BILLING_REGISTER_DELIVERY.md", "docs/SGF_OPERATIONAL_INFORMATION_DELIVERY.md", "docs/SGF_MULTI_LINE_INVOICE_DELIVERY.md", "docs/proofs/sgf-multi-line-invoice-20261111.json" ], "work_remaining": [ "Revisão visual, aceitação explícita e conformidade real; emissão fiscal real permanece bloqueada", "Carga sustentada, armazenamento e capacidade de implantação exigem evidências próprias" ] }, { "id": "purchasing", "label": "Compras", "features": [ "Fornecedores e revisão distinta", "Requisição até adjudicação e ordem", "Recepção, documento e stock único", "Factura conferida e obrigação reconhecida", "Início operacional com percurso, evidências, funções autorizadas e consulta explícita das fontes existentes" ], "required_host_tables": [ "users", "companies", "units", "permission_grants" ], "required_source_files": [ "app/Modules/Purchasing/ReceiptRuntime.php", "app/Modules/Purchasing/RequestController.php", "app/Modules/Purchasing/InvoiceController.php", "app/Modules/Purchasing/ObligationController.php", "resources/js/WorkspaceHome.jsx", "resources/js/workspace-overview.js" ], "proofs": [ "docs/proofs/purchasing-completion-final-20261104-r2.json", "docs/proofs/sgf-six-module-functional-review-20261110.json", "docs/SGF_OPERATIONAL_INFORMATION_DELIVERY.md" ], "work_remaining": [ "Conferência visual restante e aceitação explícita do conjunto; ver SGF_SIX_MODULE_CLOSURE_20261110.md" ] }, { "id": "stock", "label": "Stock", "features": [ "Artigos, armazéns e saldos físicos", "Entradas, saídas e origem autorizada", "Transferência e conferência de destino", "Contagens, ajustamentos e devoluções", "Movimentos e relatórios por período", "Política QA revista e devolução ao fornecedor por origem exacta; saldo8UN/160MZN no mesmo diário", "Inactividade de pares com história conhecida, corte UTC explícito, filtros e SQL25/100 sem inferir ausência de actividade", "Início operacional com percurso, evidências, funções autorizadas e consulta explícita das fontes existentes", "Cadastro de artigos: preparação/revisão distintas, criação sem saldo, designação revista só dos novos, código/unidade imutáveis, histórico/recibos e catálogo canónico único" ], "required_host_tables": [ "users", "companies", "units" ], "required_source_files": [ "app/Modules/Inventory/StockReadController.php", "app/Modules/Inventory/CompositionStockRead.php", "app/Modules/Inventory/StockPeriodReport.php", "app/Modules/Workshop/WorkshopStock.php", "app/Modules/Inventory/StockOperationsController.php", "resources/views/stock-operations-workspace.blade.php", "public/stock-operations-workspace.mjs", "app/Modules/Inventory/StockFinalController.php", "resources/views/stock-final-workspace.blade.php", "public/sgf-stock-final.mjs", "app/Modules/Inventory/StockInactiveReport.php", "resources/js/StockInactiveReportWorkspace.jsx", "resources/js/WorkspaceHome.jsx", "resources/js/workspace-overview.js", "app/Modules/Inventory/StockCatalogueController.php", "resources/views/stock-catalogue-workspace.blade.php", "public/sgf-stock-catalogue.mjs", "config/stock_catalogue.php", "database/sql/stock_catalogue.sql" ], "proofs": [ "docs/proofs/stock-period-report-20261103.json", "docs/proofs/sgf-stock-operations-20261110.json", "docs/proofs/sgf-six-module-functional-review-20261110.json", "docs/SGF_STOCK_POLICIES_SUPPLIER_RETURN.md", "docs/SGF_STOCK_INACTIVITY_DELIVERY.md", "docs/SGF_OPERATIONAL_INFORMATION_DELIVERY.md", "docs/SGF_STOCK_CATALOGUE_DELIVERY.md" ], "work_remaining": [ "Revisão visual dos novos relatórios e aceitação explícita do conjunto; carga sustentada e implantação separadas" ], "required_native_tables": [ "stock_movements", "stock_operations", "inventory_lot_allocations", "supply_records", "sgf_stock_transit_events", "sc_catalogue_meta", "sc_catalogue_versions", "sc_catalogue_commands" ] }, { "id": "workshop", "label": "Oficinas", "features": [ "Ordem e autorização", "Apontamentos e revisão distinta", "Material consumido ligado ao movimento físico", "Custo directo/industrial e correcção", "Continuação comercial por documento de origem", "Agenda sem sobreposição, reagendamento e cancelamento versionados", "Cadastro independente e reutilização de equipamento por cliente", "Início operacional com percurso, evidências, funções autorizadas e consulta explícita das fontes existentes", "Ordens SQL25/100 por cliente/equipamento/responsável/estado, apontamentos actuais e minutos verificados, sem mutex de escrita na leitura", "Relatório por período de abertura explícito/dia local, SQL25/100 antes de paginar, apontamentos actuais e CSV da página sem fecho histórico presumido", "Equipamento escolhido → ordens exactas SQL25/100 com filtros, identificação actual, CSV da página e regresso ao catálogo" ], "required_host_tables": [ "wo_orders", "wo_entries", "dc_calculations", "ic_results", "wb_proposals" ], "required_source_files": [ "app/Modules/Workshop/WorkshopStock.php", "resources/js/WorkshopWorkspace.jsx", "resources/js/DirectCostsWorkspace.jsx", "resources/js/IndustrialCostsWorkspace.jsx", "resources/js/WorkshopBillingWorkspace.jsx", "app/Modules/Workshop/ComposedWorkshopStockBook.php", "app/Modules/Workshop/WorkshopBilling.php", "resources/js/WorkspaceHome.jsx", "resources/js/workspace-overview.js", "app/Modules/Workshop/WorkshopOrderRead.php", "app/Modules/Workshop/Http/WorkshopOrderReadController.php", "resources/js/WorkshopOrderList.jsx", "resources/js/workshop-report-view.js", "app/Modules/Workshop/WorkshopEquipment.php", "resources/js/WorkshopEquipmentWorkspace.jsx" ], "proofs": [ "docs/proofs/workshop-stock-closure-20261102.json", "docs/proofs/sgf-six-module-functional-review-20261110.json", "docs/SGF_WORKSHOP_AGENDA_EQUIPMENT.md", "docs/SGF_OPERATIONAL_INFORMATION_DELIVERY.md", "docs/SGF_WORKSHOP_PERIOD_REPORT_DELIVERY.md", "docs/SGF_WORKSHOP_EQUIPMENT_ORDERS_DELIVERY.md" ], "work_remaining": [ "Conferência visual restante e aceitação explícita do conjunto; ver SGF_SIX_MODULE_CLOSURE_20261110.md" ] }, { "id": "finance", "label": "Financeiro", "features": [ "Obrigações a fornecedores", "Recebíveis de clientes", "Liquidação/afectação e reversão sintéticas", "Posição financeira e comprovativos por origem", "Caixa QA explícita0+1000-50=950, revisão distinta, contagem e fecho sem reabertura", "Extracto paginado, recuperação de confirmação e classificação/despesa no mesmo diário", "Extracto artificial QA e correspondências individuais com duas linhas nativas existentes, revisão distinta, conferência final e relatório", "Critérios e indicadores QA950/100=9,5 vezes e50/1000=5%, revisão distinta, fontes conciliadas/retrato/fracção/histórico/relatório", "Início operacional com percurso, evidências, funções autorizadas e consulta explícita das fontes existentes", "Posições actuais de clientes por documento, pesquisa/estado/vencimento, SQL25/100, saldos reconhecidos e CSV da página; referência de vencimento distinta de saldo histórico", "Posições de fornecedores por factura/fornecedor e estado documental, SQL25/100, saldos do motor original, CSV da página e abertura exacta do documento; vencimento desconhecido sem atraso presumido", "Condições administrativas QA de vencimento: preparação13/revisão14, evidência/fundamento, prévia/revalidação de origem/saldo/versão/pessoa, recusa/correcção, histórico25/100, recibo e recuperação; lista/CSV separam original e condição revista, referência explícita no detalhe", "Mapa de antiguidade de fornecedores por referência explícita e condição administrativa revista, faixas0/1–30/31–60/61–90/>90/desconhecido, valores exactos por moeda só da página/CSV, sem alterar saldo ou vencimento original" ], "required_host_tables": [ "sr_records", "sr_effects", "cash_events", "cash_commands", "br_statements", "br_events", "br_commands", "an_criteria", "an_results", "an_commands" ], "required_source_files": [ "app/Modules/Services/ServiceReceivables.php", "app/Modules/Purchasing/SupplierPayables.php", "resources/js/ServiceReceivablesWorkspace.jsx", "app/Modules/Purchasing/ComposedFinance.php", "app/Modules/Purchasing/ComposedFinanceController.php", "app/Modules/Finance/CashWorkspace.php", "app/Modules/Finance/Http/CashController.php", "app/Modules/Accounting/CashLedgerSource.php", "app/Modules/Finance/BankReconciliation.php", "app/Modules/Finance/BankLedgerSource.php", "app/Modules/Finance/Http/BankReconciliationController.php", "public/sgf-bank.mjs", "app/Modules/Finance/FinancialIndicators.php", "app/Modules/Finance/FinancialIndicatorSource.php", "app/Modules/Finance/Http/FinancialIndicatorsController.php", "public/sgf-indicators.mjs", "resources/js/WorkspaceHome.jsx", "resources/js/workspace-overview.js", "app/Modules/Services/ReceivablePositionRead.php", "app/Modules/Services/Http/ReceivablePositionReadController.php", "resources/js/ReceivablePositionsWorkspace.jsx", "resources/js/receivable-position-view.js", "app/Modules/Purchasing/PayablePositionReadController.php", "app/Modules/Purchasing/ComposedFinanceController.php", "resources/js/PayablePositionsWorkspace.jsx", "resources/js/payable-position-view.js", "app/Modules/Purchasing/PayableDueController.php", "resources/js/PayableDueWorkspace.jsx", "database/sql/payable_due.sql", "config/payable_due.php", "app/Modules/Purchasing/PayableAge.php" ], "proofs": [ "docs/proofs/supplier-settlements.json", "docs/proofs/sgf-six-module-functional-review-20261110.json", "docs/SGF_CASH_DELIVERY.md", "docs/SGF_BANK_RECONCILIATION_DELIVERY.md", "docs/SGF_FINANCIAL_INDICATORS_DELIVERY.md", "docs/SGF_OPERATIONAL_INFORMATION_DELIVERY.md", "docs/SGF_RECEIVABLE_POSITIONS_DELIVERY.md", "docs/SGF_PAYABLE_POSITIONS_DELIVERY.md", "docs/SGF_PAYABLE_DUE_DELIVERY.md", "docs/SGF_PAYABLE_AGING_DELIVERY.md" ], "work_remaining": [ "Conferência visual restante e aceitação explícita do conjunto; ver SGF_SIX_MODULE_CLOSURE_20261110.md", "Conferência de extracto QA entregue; reconciliação bancária geral/real permanece fora do recorte" ], "required_native_tables": [ "pa_obligations", "pa_access", "ps_payments", "pd_due_meta", "pd_due_versions", "pd_due_commands" ] }, { "id": "accounting", "label": "Contabilidade", "features": [ "Plano e classificação", "Diário com preparação/revisão distintas", "Razão e balancete", "Estorno/correcção e conferência de período", "Fecho sintético com rastreabilidade de origens", "Livro de saídas e mapa interno IVA QA da origem FR seleccionada, revisão distinta, histórico e CSV congelado", "Catálogo de fontes/regras versionadas QA, revisão distinta, vigência/conflitos/retirada e cálculo explicável com história preservada", "Cálculo QA por1–25linhas sem/com imposto incluído, representação por linha aprovada, exactos/diferenças e mapa interno recuperável", "Início operacional com percurso, evidências, funções autorizadas e consulta explícita das fontes existentes", "Submenus distintos e balancete/razão por datas explícitas, escolha de conta por linha, páginas25/100, detecção de mudança de livro e CSV da página", "Controlo administrativo QA de obrigação/prazo/responsável do mapa interno revisto, preparação13/revisão14, correcção/cancelamento, entrega apenas simulada com SHA verificado, histórico/recibo/SQL25/100/CSV; sem calendário legal ou submissão", "Correspondências explícitas revistas15/16 e balanço/resultados internos parciais QA:19contas/nove pendentes, resultado congelado19linhas/SHA, história/recibo/CSV contextual, ligação exacta ao razão; capital e resultado completo não presumidos", "Activos QA: cadastro/custódia/plano/quota revistos, diário único1200/100 e líquido1100; correcção/abate/fecho do recorte na regressão" ], "required_host_tables": [ "ca_proposals", "ca_resolutions", "fx_versions", "fx_commands", "fr_events", "fr_calculations", "fr_commands", "fo_meta", "fo_versions", "fo_commands", "fa_meta", "fa_versions", "fa_commands" ], "required_source_files": [ "app/Modules/Accounting/GeneralLedger.php", "app/Modules/Accounting/GeneralLedgerController.php", "packages/general-ledger/src/LedgerSchema.php", "app/Modules/Accounting/ComposedLedger.php", "app/Modules/Accounting/ComposedLedgerController.php", "packages/general-ledger/src/StockTransitEvidence.php", "app/Modules/Services/FiscalCoverage.php", "app/Modules/Services/FiscalAssessment.php", "app/Modules/Services/Http/FiscalAssessmentController.php", "public/sgf-iva.mjs", "app/Modules/Services/FiscalRules.php", "app/Modules/Services/FiscalRuleExpression.php", "app/Modules/Services/Http/FiscalRulesController.php", "public/sgf-fiscal-rules.mjs", "app/Modules/Services/FiscalDocumentMath.php", "resources/js/WorkspaceHome.jsx", "resources/js/workspace-overview.js", "resources/js/ComposedAccountingWorkspace.jsx", "resources/js/LedgerReportsWorkspace.jsx", "resources/js/ledger-report-view.js", "app/Modules/Services/FiscalObligations.php", "app/Modules/Services/Http/FiscalObligationsController.php", "resources/js/FiscalObligationsWorkspace.jsx", "resources/js/fiscal-obligations-view.js", "database/sql/fiscal_obligations.sql", "config/fiscal_obligations.php", "app/Modules/Accounting/InternalStatementsController.php", "app/Modules/Accounting/InternalStatementTotals.php", "resources/js/InternalStatementsWorkspace.jsx", "resources/js/internal-statements-view.js", "resources/js/statement-download.js", "resources/js/FiscalObligationsWorkspace.jsx", "database/sql/internal_statements.sql", "config/internal_statements.php", "app/Modules/Accounting/FixedAssets.php", "app/Modules/Accounting/FixedAssetLedgerSource.php", "app/Modules/Accounting/FixedAssetJournalController.php", "resources/js/FixedAssetsWorkspace.jsx", "packages/general-ledger/src/LedgerAssets.php" ], "proofs": [ "docs/proofs/purchasing-completion-matrix-final-20261104.json", "docs/proofs/sgf-six-module-functional-review-20261110.json", "docs/SGF_FISCAL_COVERAGE_DELIVERY.md", "docs/SGF_IVA_ASSESSMENT_DELIVERY.md", "docs/SGF_FISCAL_RULES_COMMON_DELIVERY.md", "docs/SGF_MULTI_LINE_INCLUDED_DELIVERY.md", "docs/SGF_OPERATIONAL_INFORMATION_DELIVERY.md", "docs/SGF_ACCOUNTING_REPORTS_DELIVERY.md", "docs/SGF_FISCAL_OBLIGATIONS_DELIVERY.md", "docs/SGF_FINANCIAL_STATEMENTS_DELIVERY.md", "docs/SGF_COVERAGE_RECONCILIATION.md", "docs/proofs/sgf-fixed-assets-20261111.json" ], "work_remaining": [ "Conferência visual restante e aceitação explícita do conjunto; ver SGF_SIX_MODULE_CLOSURE_20261110.md", "Backlog fiscal/financeiro amplo pendente; tabela de cobertura não implementa motores ou modelos", "Activos gerais e tratamento fiscal/legal, alienação/contraprestação, correcções de custo já admitido e cadeias adicionais fora do recorte QA" ], "required_native_tables": [ "gl_accounts", "gl_periods", "gl_journals", "gl_lines", "fs_meta", "fs_versions", "fs_results", "fs_result_lines", "fs_commands", "gl_asset_books", "gl_asset_extension_versions" ] }, { "id": "human_resources", "label": "Recursos Humanos", "features": [ "Módulo autónomo com perfis QA próprios separados do Financeiro", "Cadastro pseudónimo individual preparado e revisto", "Regras artificiais versionadas com vigência e fonte explícitas", "Processamento exacto por trabalhador/período com escolha de fontes e revisão distinta", "Correcção/cancelamento versionados, prévia, histórico, recibos e recuperação", "Mapa individual revisto conservado com SHA e exportação autenticada; filtros SQL25/100", "Contratos internos QA revistos com correcção/terminação/cancelamento e dependências", "Plano e assiduidade por dia com intervalos explícitos, dados desconhecidos e revisão distinta", "Condição de férias QA, reserva/gozo/cancelamento individuais, saldo efectivo sem duplicação", "Conferência parcial do período por pessoa, fontes/versões e CSV/SHA conservado", "Ligação contratual explícita opcional em novas preparações salariais, provada na regressão sem alterar salários8085", "Resumo CSV legível derivado de versão revista, com SHA próprio/original, sem alterar o artefacto conservado" ], "required_host_tables": [ "rm_meta", "rm_versions", "rm_commands", "hr_qa_profiles", "hp_meta", "hp_versions", "hp_commands" ], "required_source_files": [ "app/Modules/HumanResources/Remunerations.php", "app/Modules/HumanResources/Http/RemunerationsController.php", "app/Shared/Installation/HumanResourcesProfiles.php", "resources/js/RemunerationsWorkspace.jsx", "resources/js/statement-download.js", "app/Modules/HumanResources/Personnel.php", "app/Modules/HumanResources/PersonnelTime.php", "app/Modules/HumanResources/Http/PersonnelController.php", "resources/js/PersonnelWorkspace.jsx", "app/Modules/HumanResources/PersonnelReadableCsv.php" ], "proofs": [ "docs/SGF_HUMAN_RESOURCES_DELIVERY.md", "docs/proofs/sgf-human-resources-20261111.json", "docs/SGF_HUMAN_RESOURCES_PERSONNEL_DELIVERY.md", "docs/proofs/sgf-hr-personnel-20261111.json", "docs/SGF_HUMAN_RESOURCES_READABLE_DELIVERY.md" ], "work_remaining": [ "Conformidade e aplicabilidade laboral real: contratos legais, turnos/calendário, férias legais, benefícios e modelos", "Cálculo legal IRPS/INSS e ligação a dívida/pagamento/Contabilidade sem efeitos implícitos", "Revisão visual, carga sustentada, armazenamento e capacidade de implantação" ] } ], "release_gates": [ { "id": "single_installation", "criterion": "Os seis módulos operam no mesmo endereço e empresa/unidade, sem mudar de demonstração" }, { "id": "functional_modules", "criterion": "Cada funcionalidade obrigatória tem ecrã/comando/consulta executável; menus e fontes isoladas não bastam" }, { "id": "cross_module_flows", "criterion": "Os documentos atravessam as fronteiras mantendo origem, versão, autoridade e efeito único" }, { "id": "access_isolation", "criterion": "Perfis explícitos e recusas de empresa/unidade/módulo/permissão verificadas" }, { "id": "presentation", "criterion": "Percurso de apresentação coerente, dados fictícios identificados, linguagem e navegação revistas" }, { "id": "operations", "criterion": "Arranque e recuperação da instalação entregues e ensaiados, sem depender do SGC" }, { "id": "commercial_honesty", "criterion": "Documentos de teste não são emissão fiscal; capacidade de implantação exige prova própria" }, { "id": "preservation", "criterion": "Seis registos, cache, dados aprovados e trabalho alheio preservados" } ], "acceptance_proof": "docs/proofs/sgf-single-solution-acceptance.json", "scope_policy": "Recorte QA dos seis módulos e requisitos amplos de produto separados explicitamente; nenhum painel de cobertura equivale à implementação dos motores ou modelos pendentes.", "revision_note": "11/11: activos QA integrados na8085, origem1200/quota100 no diário único,29 lançamentos/24 contas; demonstração nova parcial23 contas com movimento e snapshot antigo19/27 intacto. Produto amplo não concluído; revisão visual/carga/legal/implantação separadas.", "proposed_scope_extensions": [ { "id": "cash", "access": "docs/integration/sgf-cash-access-proposal.json", "approval_required_for_new_qa_rights": false, "scope": "docs/SGF_CASH_NEXT_SCOPE.md", "implemented": true }, { "id": "iva_assessment_internal_form", "scope": "docs/SGF_IVA_ASSESSMENT_NEXT_SCOPE.md", "access": "docs/integration/sgf-iva-assessment-access-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true }, { "id": "fiscal_rules_common", "scope": "docs/SGF_FISCAL_RULES_COMMON_SCOPE.md", "access": "docs/integration/sgf-fiscal-rules-access-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true }, { "id": "bank_reconciliation_qa", "scope": "docs/SGF_BANK_RECONCILIATION_SCOPE.md", "access": "docs/integration/sgf-bank-reconciliation-access-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true }, { "id": "financial_indicators_qa", "scope": "docs/SGF_FINANCIAL_INDICATORS_SCOPE.md", "access": "docs/integration/sgf-financial-indicators-access-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true }, { "id": "multi_line_included_qa", "scope": "docs/SGF_MULTI_LINE_INCLUDED_SCOPE.md", "decision": "docs/integration/sgf-multi-line-included-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true }, { "id": "stock_catalogue", "scope": "docs/SGF_STOCK_CATALOGUE_SCOPE.md", "access": "docs/integration/sgf-stock-catalogue-access-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true }, { "id": "supplier_due_qa", "scope": "docs/SGF_PAYABLE_DUE_SCOPE.md", "access": "docs/integration/sgf-payable-due-access-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true }, { "id": "fiscal_obligations_qa", "scope": "docs/SGF_FISCAL_OBLIGATIONS_SCOPE.md", "access": "docs/integration/sgf-fiscal-obligations-access-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true }, { "id": "internal_statements_qa", "scope": "docs/SGF_FINANCIAL_STATEMENTS_SCOPE.md", "access": "docs/integration/sgf-statements-access-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true }, { "id": "fixed_assets_qa", "scope": "docs/SGF_FIXED_ASSETS_SCOPE.md", "access": "docs/integration/sgf-fixed-assets-access-proposal.json", "approval_required_for_new_qa_rights": false, "implemented": true, "delivery": "docs/SGF_FIXED_ASSETS_DELIVERY.md" }, { "id": "multi_line_invoice_qa", "scope": "docs/SGF_MULTI_LINE_INVOICE_SCOPE.md", "decision": "docs/integration/sgf-multi-line-invoice-proposal.json", "approval_required_for_new_effects": false, "new_rights": [], "implemented": true, "delivery": "docs/SGF_MULTI_LINE_INVOICE_DELIVERY.md" } ], "full_product_complete": false, "product_backlog": [ { "id": "fiscal_books", "status": "partial", "implemented": false, "basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11", "description": "Livro/mapa interno QA de uma origem entregue; IVA geral, dedução/regularizações e restantes tratamentos pendentes" }, { "id": "irps_inss", "status": "partial", "implemented": false, "basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11", "description": "RH autónomo QA com cadastro/contratos/assiduidade/férias e remunerações internas entregue; regimes laborais gerais, IRPS/INSS/modelos legais e ligação financeira/contabilística salarial pendentes" }, { "id": "irpc", "status": "pending", "implemented": false, "basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11", "description": "IRPC operacional: ajustamentos, retenções, apuramento" }, { "id": "ispc_ice", "status": "pending", "implemented": false, "basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11", "description": "Motores operacionais ISPC e ICE" }, { "id": "official_forms", "status": "pending", "implemented": false, "basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11", "description": "Modelos oficiais com correspondências e reconciliação de campos" }, { "id": "fiscal_calendar", "status": "partial", "implemented": false, "basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11", "description": "Controlo administrativo de prazo e entrega simulada de uma origem QA entregue; calendário legal, aplicabilidade geral, prazos por fonte/vigência e submissão continuam pendentes" }, { "id": "bank_reconciliation", "status": "partial", "implemented": false, "basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11", "description": "Conferência de duas linhas/extracto artificial QA entregue; integração e reconciliação bancária gerais/reais pendentes" }, { "id": "financial_analysis", "status": "partial", "implemented": false, "basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11", "description": "Dois critérios/indicadores QA com fontes conciliadas entregues; rácios gerais, critérios reais e tendências/séries permanecem pendentes" }, { "id": "fixed_assets", "status": "partial", "implemented": false, "basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md FIS-SGF-15", "description": "Ciclo integrado QA entregue na8085: cadastro/plano/quota/diário/relatórios e ramos de correcção/abate/fecho do recorte na regressão. Operação geral/legal de activos e taxas fiscais continuam pendentes.", "scope": "docs/SGF_FIXED_ASSETS_SCOPE.md", "access_proposal": "docs/integration/sgf-fixed-assets-access-proposal.json", "qa_implemented": true, "delivery": "docs/SGF_FIXED_ASSETS_DELIVERY.md" } ], "client_delivery_sources": [ "scripts/receipt-composition-http.php", "scripts/sgf-selected-assets.php", "resources/js/statement-download.js" ], "client_delivery_proof": "docs/SGF_CLIENT_ASSET_DELIVERY.md", "planned_modules": [] }