feat(gestao): skill /today v8.3.2 - fluxo IMAP com deteccao plataformas multi-fornecedor
This commit is contained in:
@@ -5,7 +5,7 @@ description: >
|
|||||||
Triagem emails 13 contas IMAP + deduplicação via imap_processed_emails (Supabase) + tickets CRM + despesas auto com PDF + health check MCPs (Sab/Dom) + sugestões workflows + nota diaria.
|
Triagem emails 13 contas IMAP + deduplicação via imap_processed_emails (Supabase) + tickets CRM + despesas auto com PDF + health check MCPs (Sab/Dom) + sugestões workflows + nota diaria.
|
||||||
Use when "checkup", "hoje", "today", "rotina", início de dia.
|
Use when "checkup", "hoje", "today", "rotina", início de dia.
|
||||||
author: Descomplicar® Crescimento Digital
|
author: Descomplicar® Crescimento Digital
|
||||||
version: 8.3.1
|
version: 8.3.2
|
||||||
quality_score: 92
|
quality_score: 92
|
||||||
user_invocable: true
|
user_invocable: true
|
||||||
category: productivity
|
category: productivity
|
||||||
@@ -247,10 +247,18 @@ Classificar cada email por ordem de prioridade:
|
|||||||
- Remetente: *@marketing.*, *@news.*, *@promo.*
|
- Remetente: *@marketing.*, *@news.*, *@promo.*
|
||||||
- EXCEPÇÃO: conta "rh" → imap_delete_email (sem pasta Promotions)
|
- EXCEPÇÃO: conta "rh" → imap_delete_email (sem pasta Promotions)
|
||||||
|
|
||||||
3. FACTURA/RECIBO → Auto-processar despesa (ver secção Auto-Despesas IMAP)
|
3. FACTURA/RECIBO → (2 sub-casos por ordem)
|
||||||
- Subject: factura, invoice, recibo, receipt, pagamento, paid
|
|
||||||
- Remetente de servico conhecido (ver mapeamento completo abaixo)
|
3a. REMETENTE = fornecedor conhecido (dominio na tabela de fornecedores):
|
||||||
- Criar despesa + anexar PDF automaticamente
|
- Subject: factura, invoice, recibo, receipt, pagamento, paid
|
||||||
|
- Dominio do remetente bate com entrada da tabela de fornecedores
|
||||||
|
→ Auto-processar despesa directamente (ver secção Auto-Despesas IMAP)
|
||||||
|
|
||||||
|
3b. REMETENTE = plataforma multi-fornecedor (toconline.pt, stripe.com, paypal.com, fastspring.com, payproglobal.com):
|
||||||
|
- Dominio do remetente e uma plataforma de faturacao (nao um fornecedor directo)
|
||||||
|
→ LER email completo → EXTRAIR emitente real (ver padroes abaixo)
|
||||||
|
→ SE emitente encontrado na tabela de fornecedores: processar como despesa desse fornecedor
|
||||||
|
→ SE emitente desconhecido: priority_flagged com nota "[Plataforma] - emitente desconhecido: [nome empresa]"
|
||||||
|
|
||||||
4. PRIORITARIO → Incluir no relatorio
|
4. PRIORITARIO → Incluir no relatorio
|
||||||
- Remetente: cliente conhecido (verificar DeskCRM)
|
- Remetente: cliente conhecido (verificar DeskCRM)
|
||||||
@@ -286,7 +294,14 @@ Classificar cada email por ordem de prioridade:
|
|||||||
### Fluxo completo
|
### Fluxo completo
|
||||||
|
|
||||||
```
|
```
|
||||||
1. DETECTAR: Email de fornecedor conhecido com subject de factura/recibo
|
1. DETECTAR origem:
|
||||||
|
1a. Fornecedor directo: dominio remetente bate tabela de fornecedores
|
||||||
|
→ fornecedor, categoria e moeda ja conhecidos, avancar para passo 2
|
||||||
|
1b. Plataforma multi-fornecedor: dominio remetente e toconline.pt, stripe.com, etc.
|
||||||
|
→ LER email (passo 2) → EXTRAIR emitente real (padroes da secção "Plataformas Multi-Fornecedor")
|
||||||
|
→ Procurar emitente na tabela "Emitentes Conhecidos por Plataforma"
|
||||||
|
→ SE encontrado: usar categoria/moeda dessa entrada, avancar para passo 3
|
||||||
|
→ SE desconhecido: registar action="priority_flagged", nota="[Plataforma] - emitente: [nome]", PARAR
|
||||||
2. LER: imap_read_email(account, uid) → conteudo HTML + anexos
|
2. LER: imap_read_email(account, uid) → conteudo HTML + anexos
|
||||||
3. EXTRAIR do HTML:
|
3. EXTRAIR do HTML:
|
||||||
- Valor (procurar padroes: $XX.XX, XX,XX EUR, USD XX.XX)
|
- Valor (procurar padroes: $XX.XX, XX,XX EUR, USD XX.XX)
|
||||||
@@ -381,21 +396,68 @@ CRITICO: currency=1 NAO existe e causa despesas invisiveis nos relatorios.
|
|||||||
|
|
||||||
### Plataformas Multi-Fornecedor (protocolo especial)
|
### Plataformas Multi-Fornecedor (protocolo especial)
|
||||||
|
|
||||||
> Algumas plataformas entregam faturas de qualquer empresa. NAO mapear para categoria fixa.
|
> Plataformas de faturacao sao intermediarios — nao sao fornecedores.
|
||||||
> Ler o email para identificar o emitente real, depois categorizar.
|
> O dominio do remetente identifica a plataforma; o CORPO do email identifica o fornecedor real.
|
||||||
|
> Activado pelo passo 3b da triagem IMAP.
|
||||||
|
|
||||||
| Plataforma | Dominio | Protocolo |
|
#### Dominios de Plataformas Conhecidas
|
||||||
|-----------|---------|-----------|
|
|
||||||
| TOConline | toconline.pt | Ler email → extrair "Emitente: [empresa]" → mapear empresa → se desconhecida: flag priority |
|
|
||||||
| Stripe | stripe.com | Ler subject/corpo → identificar fornecedor (Cursor, Descript, OpenRouter...) → usar entrada do fornecedor real |
|
|
||||||
| PayPal | paypal.com | Ler corpo → identificar fornecedor → categorizar por fornecedor real |
|
|
||||||
| FastSpring | fastspring.com | Ler corpo → identificar fornecedor (BdThemes...) → categorizar por fornecedor real |
|
|
||||||
| PayPro Global | payproglobal.com | Ler corpo → identificar fornecedor (CapSolver...) → categorizar por fornecedor real |
|
|
||||||
|
|
||||||
**Emitentes TOConline conhecidos:**
|
```
|
||||||
- CUBIC CHOICES LDA → cat 21 (Contabilidade), tax=1
|
toconline.pt → sistema faturacao electronica PT (e-fatura B2B)
|
||||||
|
stripe.com → processador pagamentos (Cursor, Descript, OpenRouter...)
|
||||||
|
paypal.com → processador pagamentos (Canva via PayPal...)
|
||||||
|
fastspring.com → loja software (BdThemes...)
|
||||||
|
payproglobal.com → loja software (CapSolver...)
|
||||||
|
```
|
||||||
|
|
||||||
**Emitentes TOConline desconhecidos:** flag `priority_flagged` com nota "TOConline - emitente desconhecido: [empresa]"
|
#### Padroes de Extracao do Emitente Real
|
||||||
|
|
||||||
|
**TOConline** (`toconline.pt`):
|
||||||
|
```
|
||||||
|
Procurar no HTML (por ordem):
|
||||||
|
1. "Emitido por:</strong> [NOME EMPRESA]"
|
||||||
|
2. "Emitente:</td><td>[NOME EMPRESA]"
|
||||||
|
3. "De:</strong> [NOME EMPRESA]"
|
||||||
|
Exemplo: "CUBIC CHOICES LDA" → procurar na tabela de fornecedores pelo nome
|
||||||
|
```
|
||||||
|
|
||||||
|
**Stripe** (`stripe.com`):
|
||||||
|
```
|
||||||
|
Procurar no subject: "[Nome Empresa] invoice" ou "Receipt from [Nome Empresa]"
|
||||||
|
Exemplo subject: "Your receipt from Cursor" → fornecedor = Cursor
|
||||||
|
```
|
||||||
|
|
||||||
|
**PayPal** (`paypal.com`):
|
||||||
|
```
|
||||||
|
Procurar no subject: "You paid [Nome Empresa]" ou "Receipt for your payment to [Nome Empresa]"
|
||||||
|
Exemplo: "You paid Canva" → fornecedor = Canva
|
||||||
|
```
|
||||||
|
|
||||||
|
**FastSpring** (`fastspring.com`):
|
||||||
|
```
|
||||||
|
Procurar no subject ou corpo: "Order from [Nome Empresa]" ou "purchased [Nome Produto] from [Nome Empresa]"
|
||||||
|
Exemplo: "purchased Element Pack from BdThemes" → fornecedor = BdThemes
|
||||||
|
```
|
||||||
|
|
||||||
|
**PayPro Global** (`payproglobal.com`):
|
||||||
|
```
|
||||||
|
Procurar no subject ou corpo: nome do produto/empresa
|
||||||
|
Exemplo: "CapSolver" no corpo → fornecedor = CapSolver
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Emitentes Conhecidos por Plataforma
|
||||||
|
|
||||||
|
| Plataforma | Emitente | Fornecedor na Tabela | Cat | Notas |
|
||||||
|
|-----------|---------|---------------------|-----|-------|
|
||||||
|
| TOConline | CUBIC CHOICES LDA | — (nao esta na tabela) | 21 | Contabilidade GONDOOFFICE, tax=1, EUR |
|
||||||
|
| Stripe | Cursor | Cursor (#10) | 28 | — |
|
||||||
|
| Stripe | Descript | Descript (#9) | 28 | — |
|
||||||
|
| Stripe | OpenRouter | OpenRouter (#2) | 38 | — |
|
||||||
|
| PayPal | Canva | Canva (#7) | 28 | — |
|
||||||
|
| FastSpring | BdThemes | BdThemes (#15) | 14 | — |
|
||||||
|
| PayPro Global | CapSolver | CapSolver (#3) | 38 | — |
|
||||||
|
|
||||||
|
> **NOTA:** CUBIC CHOICES LDA nao tem entrada na tabela de fornecedores (nao e um servico digital recorrente com dominio proprio). Usar directamente cat 21, tax=1, EUR.
|
||||||
|
|
||||||
### Emails a IGNORAR (nao sao despesas)
|
### Emails a IGNORAR (nao sao despesas)
|
||||||
|
|
||||||
@@ -1004,6 +1066,13 @@ send_invoice_to_customer = 0 → OBRIGATORIO na BD (sem default)
|
|||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
|
### v8.3.2 (2026-02-24)
|
||||||
|
- **FLUXO IMAP PASSO 3b:** Detecção de plataformas multi-fornecedor integrada na triagem IMAP
|
||||||
|
- **EXTRACAO EMITENTE:** Padroes HTML especificos por plataforma (TOConline, Stripe, PayPal, FastSpring, PayPro Global)
|
||||||
|
- **TABELA EMITENTES:** Mapeamento plataforma→emitente→fornecedor/categoria para 6 casos conhecidos
|
||||||
|
- **AUTO-DESPESAS:** Fluxo actualizado — passo 1 distingue fornecedor directo vs plataforma intermediaria
|
||||||
|
- **CUBIC CHOICES LDA:** Documentado fora da tabela de fornecedores (cat 21, tax=1, EUR, via TOConline)
|
||||||
|
|
||||||
### v8.3.1 (2026-02-24)
|
### v8.3.1 (2026-02-24)
|
||||||
- **PLATAFORMAS MULTI-FORNECEDOR:** Protocolo para plataformas de faturação (TOConline, Stripe, PayPal, FastSpring, PayPro Global) — NAO sao fornecedores, sao sistemas de entrega de faturas
|
- **PLATAFORMAS MULTI-FORNECEDOR:** Protocolo para plataformas de faturação (TOConline, Stripe, PayPal, FastSpring, PayPro Global) — NAO sao fornecedores, sao sistemas de entrega de faturas
|
||||||
- **TOConline:** Detectar pelo dominio → ler email → extrair emitente real → categorizar pelo emitente (nao pela plataforma). CUBIC CHOICES LDA → cat 21. Emitente desconhecido → flag priority
|
- **TOConline:** Detectar pelo dominio → ler email → extrair emitente real → categorizar pelo emitente (nao pela plataforma). CUBIC CHOICES LDA → cat 21. Emitente desconhecido → flag priority
|
||||||
@@ -1079,4 +1148,4 @@ send_invoice_to_customer = 0 → OBRIGATORIO na BD (sem default)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Skill v8.3.1 | 2026-02-24 | Descomplicar®*
|
*Skill v8.3.2 | 2026-02-24 | Descomplicar®*
|
||||||
|
|||||||
Reference in New Issue
Block a user