1. Módulo de Autenticação e Empresa (Tenant)
Este módulo rege o controle de acesso e isolamento de dados das empresas clientes (SaaS).| ID | Nome do Requisito | Descrição | Prioridade |
|---|---|---|---|
| RF-AUTH-01 | Login com JWT | O sistema deve permitir o login de usuários usando email e senha, retornando um Access Token (JWT) e salvando um Refresh Token seguro (HttpOnly Cookie). | Alta |
| RF-AUTH-02 | Isolamento de Tenant | Todos os dados (produtos, pedidos, configurações) devem ser estritamente filtrados pelo tenantId da empresa ativa na sessão, prevenindo vazamentos entre contas cruzadas. | Crítica |
| RF-AUTH-03 | Auto-Renovação | O sistema deve silenciosamente renovar a sessão do usuário enviando o Refresh Token antes que o Access Token expire, garantindo uma UX ininterrupta. | Alta |
| RF-ORG-01 | Cadastro Fiscal | O administrador do Tenant deve conseguir cadastrar Razão Social, CNPJ e Inscrição Estadual para fins de emissão de NF-e. | Alta |
| RF-ORG-02 | Endereço Fiscal | Permitir o cadastro de CEP, logradouro e município que serão usados como ponto de partida das coletas (Logística Meli/Shopee). | Alta |
2. PIM (Catálogo de Produtos)
O coração do hub: engloba os anúncios, produtos básicos, kits compostos e cálculo de custos.| ID | Nome do Requisito | Descrição | Prioridade |
|---|---|---|---|
| RF-CAT-01 | Cadastro de Produtos Simples | Permitir o cadastro de itens básicos contendo Nome, SKU (único por tenant), Preço de Custo e Preço de Venda. | Crítica |
| RF-CAT-02 | Cadastro de Variações | Produtos devem poder ter grades de variação (Ex: Cor e Tamanho), cada uma com o seu próprio SKU, Preço de Venda e Saldo de Estoque. | Alta |
| RF-CAT-03 | Composição de Kits | Permitir a criação de um Produto tipo KIT. O Kit deve possuir uma lista de “Componentes” (produtos simples) com suas respectivas quantidades e porcentagem de quebra estrutural (perda). | Crítica |
| RF-CAT-04 | Dedução Dinâmica de Estoque (Kits) | Na venda de um Kit, o estoque abaixado deve ser o dos produtos simples que o compõem. O estoque virtual do kit deve ser recalculado baseado no componente com menor disponibilidade. | Crítica |
| RF-CAT-05 | Cálculo Automatizado de Custo | O custo de um produto do tipo Kit deve ser calculado dinamicamente baseando-se no Preço de Custo somado e ponderado de todos os seus componentes ativos. | Alta |
3. Integrações e Anúncios (Listings)
A relação do catálogo interno com as plataformas de venda.| ID | Nome do Requisito | Descrição | Prioridade |
|---|---|---|---|
| RF-INT-01 | Conexão OAuth Mercado Livre | Permitir que o tenant autorize a conta do ML através do fluxo oAuth 2.0. Os tokens gerados devem ser renovados ativamente via CRON (Scheduler). | Crítica |
| RF-INT-02 | Conexão OAuth Shopee | Permitir a autorização da Shopee recebendo e manipulando Code Auth via URL Callbacks. | Crítica |
| RF-INT-03 | Criptografia de Credenciais | As chaves e tokens OAuth devolvidos pelas plataformas devem ser salvas no bando de dados do OmniDom com encriptação forte (AES). | Crítica |
| RF-LST-01 | Importação de Anúncios | Ao conectar, o sistema deve disparar um job (BullMQ) resgatando todos os anúncios ativos da conta externa. | Alta |
| RF-LST-02 | Vinculação Manual a SKU Interno | Quando o SKU não bater, a interface deve permitir ligar o anúncio externo a um Produto existente no Hub, validando estoques. | Alta |
| RF-LST-03 | Atualização Simultânea de Status/Preço | Alterações de preço e status (Pausar/Ativar) do anúncio feitas na tabela do OmniDom devem ser propagadas individualmente às APIs do ML/Shopee na mesma hora. | Alta |
4. Gestão de Estoque e Compras (Inventário)
Movimentação de mercadorias.| ID | Nome do Requisito | Descrição | Prioridade |
|---|---|---|---|
| RF-INV-01 | Multi-Depósito (Warehouses) | Permitir que o estoque total seja divido em múltiplos depósitos (físicos, lojas matriz/filial). | Média |
| RF-INV-02 | Transações Físicas vs Reservadas | Exibir o estoque em divisões claras: “Saldo Físico”, “Reservado em Pedidos”, “Disponível aos Anúncios”. | Crítica |
| RF-INV-03 | Entrada Manual | Permitir adicionar ajustes avulsos indicando Depósito de Destino, Produto, Quantidade e Valor de Compra isolado. | Alta |
| RF-FIS-01 | Importação XML via Fiscal | Permitir a subida de um arquivo XML de NF-e e, a partir dele, detectar a grade, cadastrar novos SKUs automaticamente e somar aos estoques sem intervenção humana longa. | Média |
5. Pedidos de Venda e Expedição
Como a venda tramita e sai da empresa.| ID | Nome do Requisito | Descrição | Prioridade |
|---|---|---|---|
| RF-ORD-01 | Escuta Ativa Via Webhooks | O backend deve sempre receber atualizações (novo pedido aprovado, pedido despachado) através das URLs de Push Notifications criadas nos developers do Meli/Shopee. | Crítica |
| RF-ORD-02 | Reserva Antecipada (Pendente) | Boletos ou vendas pendentes devem deduzir o estoque imediatamente como “Estoque Reservado”, a fim de não criar overbooking com a regra do Kit dinâmico. | Crítica |
| RF-ORD-03 | Faturamento em Lote (Emissão NF-e) | A tela deve capacitar a seleção de dezenas de pedidos, disparando emissões para a SEFAZ de forma encadeada (Fila/Job). | Crítica |
| RF-ORD-04 | Etiquetas de Envio | Após faturamento, o usuário pode selecionar lotes e o sistema solicitará o PDF ou código ZPL combinando as etiquetas das transportadoras. | Alta |
| RF-ORD-05 | Separação de Kits | O detalhe do Pedido deve ser capaz de exibir ordens de Kitt “desmontadas” para auxiliar o operador logístico no picking correto das caixas. | Alta |