feat(crm-ops): adiciona plugin crm-ops (agents, skills, knowledge e metadados do projeto)
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
# AGENTS.md — skills
|
||||
|
||||
Directrizes específicas deste projecto para agentes IA.
|
||||
|
||||
## Referências obrigatórias
|
||||
|
||||
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||
|
||||
## Protocolo de sessão
|
||||
|
||||
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||
|
||||
## Convenções específicas
|
||||
|
||||
- (a definir)
|
||||
@@ -0,0 +1,5 @@
|
||||
# CHANGELOG — skills
|
||||
|
||||
## 0.1.0 — 2026-06-30
|
||||
### Adicionado
|
||||
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||
@@ -0,0 +1,4 @@
|
||||
# MEMORY.md — skills
|
||||
|
||||
## 2026-06-30
|
||||
- Estrutura padrão aplicada via propagate-structure.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
# skills
|
||||
|
||||
Subprojecto skills do ecossistema Descomplicar.
|
||||
@@ -0,0 +1,8 @@
|
||||
# STATUS.md — skills
|
||||
|
||||
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||
|
||||
## Estado actual
|
||||
- Em curso: —
|
||||
- Bloqueios: —
|
||||
- Próximos passos: —
|
||||
@@ -0,0 +1,146 @@
|
||||
---
|
||||
name: auto-expense
|
||||
description: Criação automática de despesas a partir de facturas detectadas no IMAP e tickets. Extrai dados, verifica duplicados por reference_no e cria despesas no Desk CRM com PDF anexo.
|
||||
disable-model-invocation: true
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# /auto-expense v1.1
|
||||
|
||||
Cria despesas automaticamente a partir de facturas detectadas pelo IMAP e tickets.
|
||||
|
||||
---
|
||||
|
||||
## Protocolo
|
||||
|
||||
### Passo 1: Carregar inputs
|
||||
|
||||
```
|
||||
1. Ler ficheiro fornecedores:
|
||||
Read: /media/ealmeida/Dados/Hub/06-Operacoes/Documentacao/fornecedores-recorrentes.md
|
||||
|
||||
2. Ler facturas IMAP (se existir):
|
||||
Read: ~/.claude-work/today-imap-{date}.json → campo "facturas"
|
||||
|
||||
3. Ler facturas tickets (se existir):
|
||||
Read: ~/.claude-work/today-tickets-{date}.json → campo "facturas"
|
||||
|
||||
4. Se nenhum ficheiro existe E invocado standalone:
|
||||
→ Perguntar ao utilizador: "processar IMAP, tickets ou ambos?"
|
||||
→ Se IMAP: executar /imap-triage primeiro
|
||||
→ Se tickets: executar /ticket-triage primeiro
|
||||
```
|
||||
|
||||
### Passo 2: Para cada factura, processar
|
||||
|
||||
```
|
||||
Para cada factura na lista:
|
||||
|
||||
1. DETECTAR FORNECEDOR:
|
||||
a. Fornecedor directo: dominio remetente na tabela
|
||||
→ categoria, tax e moeda ja conhecidos
|
||||
b. Plataforma multi-fornecedor (toconline, stripe, paypal, fastspring, payproglobal):
|
||||
→ LER email completo → EXTRAIR emitente real
|
||||
→ Procurar emitente na tabela "Emitentes Conhecidos por Plataforma"
|
||||
→ SE desconhecido: registar como priority_flagged, PARAR este email
|
||||
|
||||
2. LER EMAIL/TICKET:
|
||||
- IMAP: imap_read_email(account, uid) → HTML + anexos
|
||||
- Ticket: mcp__desk-crm-v3__get_ticket(ticket_id) → HTML
|
||||
|
||||
3. EXTRAIR DO HTML:
|
||||
- Valor (padroes: $XX.XX, XX,XX EUR, USD XX.XX, Total: XX.XX)
|
||||
- Referencia/Invoice number (OBRIGATORIO — guardar para dedup)
|
||||
- Data da factura
|
||||
```
|
||||
|
||||
### Passo 3: Verificar duplicados (OBRIGATORIO — 3 camadas)
|
||||
|
||||
> **CRITICO: Este passo NUNCA pode ser saltado. Se saltado, causa duplicacao massiva de despesas.**
|
||||
|
||||
```
|
||||
Camada 0 — Referencia de factura (PRIMARIA, mais fiavel):
|
||||
get_expenses(search: "<reference_no>")
|
||||
Para cada resultado: comparar campo reference_no
|
||||
Se alguma despesa tem reference_no IGUAL → DUPLICADO CONFIRMADO
|
||||
→ NAO criar, registar como duplicado com ID existente
|
||||
|
||||
Camada 1 — Fornecedor + Valor + Data:
|
||||
get_expenses(search: "<fornecedor>")
|
||||
Filtrar: mesmo valor (±0.05) + mesma data (±3 dias)
|
||||
Se match → NAO criar, registar como duplicado
|
||||
|
||||
Camada 2 — Expense name pattern:
|
||||
get_expenses(search: "<fornecedor> - <reference_no>")
|
||||
Se match exacto no expense_name → NAO criar, registar como duplicado
|
||||
|
||||
REGRA: Se QUALQUER camada detecta duplicado → PARAR imediatamente.
|
||||
Nunca criar despesa sem passar as 3 camadas com sucesso.
|
||||
Registar cada duplicado detectado no output JSON (campo "duplicados").
|
||||
```
|
||||
|
||||
### Passo 4: Criar despesa
|
||||
|
||||
```
|
||||
APENAS se Passo 3 passou sem detectar duplicado:
|
||||
|
||||
mcp__desk-crm-v3__create_expense({
|
||||
category: [cat_id da tabela],
|
||||
amount: [valor],
|
||||
date: [data factura YYYY-MM-DD],
|
||||
expense_name: "[Fornecedor] - [Referencia]",
|
||||
reference_no: "[numero factura/referencia]",
|
||||
note: "Auto-criado via /auto-expense",
|
||||
currency: [2=USD ou 3=EUR],
|
||||
tax: [0 ou 1],
|
||||
send_invoice_to_customer: 0
|
||||
})
|
||||
|
||||
OBRIGATORIO: campo reference_no DEVE ser preenchido com o numero
|
||||
de factura extraido. Este campo e a chave primaria de deduplicacao.
|
||||
```
|
||||
|
||||
### Passo 5: PDF (se existir anexo)
|
||||
|
||||
```
|
||||
a. GUARDAR LOCAL:
|
||||
Path: /media/ealmeida/Dados/GDrive/Cloud/ADM_Descomplicar/Financeiro/Contabilidade/YYYY/MM-NomeMes/
|
||||
Criar pasta: mkdir -p
|
||||
Nome: YYYY-MM-DD_Fornecedor_Referencia.pdf
|
||||
Meses PT: 01-Janeiro, 02-Fevereiro, 03-Marco, 04-Abril, 05-Maio, 06-Junho,
|
||||
07-Julho, 08-Agosto, 09-Setembro, 10-Outubro, 11-Novembro, 12-Dezembro
|
||||
|
||||
b. UPLOAD ao Desk servidor:
|
||||
mcp__ssh-unified__sftp_upload(server="desk", local_path, remote_path="/tmp/")
|
||||
mcp__ssh-unified__ssh_execute(server="desk", command="
|
||||
mkdir -p /home/ealmeida/desk24/uploads/expenses/{expense_id}/
|
||||
cp /tmp/{filename} /home/ealmeida/desk24/uploads/expenses/{expense_id}/
|
||||
chown -R ealmeida:ealmeida /home/ealmeida/desk24/uploads/expenses/{expense_id}/
|
||||
rm /tmp/{filename}
|
||||
")
|
||||
|
||||
c. REGISTAR no Desk BD:
|
||||
mcp__ssh-unified__ssh_execute(server="desk", command="
|
||||
mysql -u ealmeida -p'9qPRdCGGqM4o' ealmeida_desk24 -e \"
|
||||
INSERT INTO tblfiles (rel_id, rel_type, file_name, filetype, attachment_key, staffid, dateadded)
|
||||
VALUES ({expense_id}, 'expense', '{filename}', 'application/pdf', MD5(RAND()), 25, NOW());
|
||||
\"
|
||||
")
|
||||
|
||||
d. LIMPAR temporarios
|
||||
```
|
||||
|
||||
### Passo 6: Actualizar CSV
|
||||
|
||||
```
|
||||
CSV Path: /media/ealmeida/Dados/GDrive/Cloud/ADM_Descomplicar/Financeiro/Contabilidade/YYYY/MAPA-DESPESAS-YYYY.csv
|
||||
Formato linha: id_desk;data;categoria;fornecedor;descricao;valor;SIM;ficheiro;email;Auto /auto-expense
|
||||
```
|
||||
|
||||
### Passo 7: Escrever output JSON
|
||||
|
||||
```
|
||||
Escrever em ~/.claude-work/today-expenses-{date}.json:
|
||||
{
|
||||
"despesas_criadas": [
|
||||
{"id": 1180, "fornecedor": "MEO", "valor": 76.26, "moeda": "EUR", "referencia": "FT A/8
|
||||
@@ -0,0 +1,227 @@
|
||||
---
|
||||
name: billing-check
|
||||
description: Verificação de facturação e validação de facturas. Sincroniza facturas Moloni com horas Desk CRM para projectos 360, compara horas facturadas vs entregues e calcula saldos.
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# Billing Check - Desk vs Moloni (v2.0)
|
||||
|
||||
Sincroniza facturas Moloni com horas Desk CRM para projectos 360.
|
||||
|
||||
---
|
||||
|
||||
## EXECUÇÃO AUTOMÁTICA
|
||||
|
||||
| Dia do Mês | Acção |
|
||||
|------------|-------|
|
||||
| **5, 15, 25** | Sincronizar facturas Moloni → tabela `billing_360_invoices` |
|
||||
|
||||
> O dashboard plan-eal.descomplicar.pt mostra dados em tempo real da BD.
|
||||
|
||||
---
|
||||
|
||||
## BASE DE DADOS
|
||||
|
||||
### Tabelas (ealmeida_desk24)
|
||||
|
||||
```sql
|
||||
-- Clientes 360
|
||||
billing_360_clients (
|
||||
id, client_name, desk_client_id, desk_project_id,
|
||||
moloni_customer_id, monthly_hours, active
|
||||
)
|
||||
|
||||
-- Facturas sincronizadas
|
||||
billing_360_invoices (
|
||||
id, client_id, moloni_invoice_id, invoice_number,
|
||||
invoice_date, hours_invoiced, amount, synced_at
|
||||
)
|
||||
|
||||
-- Log de sincronizações
|
||||
billing_360_sync (
|
||||
id, sync_date, invoices_processed, status, notes
|
||||
)
|
||||
```
|
||||
|
||||
### Clientes Activos
|
||||
|
||||
| Cliente | desk_project_id | moloni_customer_id | Horas/Mês |
|
||||
|---------|-----------------|-------------------|-----------|
|
||||
| SolarFV | 67 | 96914420 | 10h |
|
||||
| Carstuff | 77 | 128784439 | 30h |
|
||||
|
||||
---
|
||||
|
||||
## PROTOCOLO DE EXECUÇÃO
|
||||
|
||||
### 1. Obter Data Actual
|
||||
|
||||
```
|
||||
mcp__mcp-time__current_time (timezone: Europe/Lisbon)
|
||||
```
|
||||
|
||||
### 2. Verificar Clientes 360 Activos
|
||||
|
||||
```sql
|
||||
SELECT * FROM billing_360_clients WHERE active = 1
|
||||
```
|
||||
|
||||
### 3. Para Cada Cliente: Obter Facturas Moloni
|
||||
|
||||
```
|
||||
Sequência MCP Moloni:
|
||||
1. moloni_documents_invoices_getall
|
||||
- company_id: 69473
|
||||
- customer_id: [moloni_customer_id]
|
||||
- year: [ano_corrente]
|
||||
|
||||
2. Para cada factura, extrair horas com regex:
|
||||
/Avença\s+(\d+)\s+horas.*360/i
|
||||
```
|
||||
|
||||
### 4. Inserir Novas Facturas
|
||||
|
||||
```sql
|
||||
INSERT INTO billing_360_invoices
|
||||
(client_id, moloni_invoice_id, invoice_number, invoice_date, hours_invoiced, amount)
|
||||
VALUES (?, ?, ?, ?, ?, ?)
|
||||
ON DUPLICATE KEY UPDATE synced_at = NOW()
|
||||
```
|
||||
|
||||
### 5. Registar Sincronização
|
||||
|
||||
```sql
|
||||
INSERT INTO billing_360_sync (sync_date, invoices_added, status, details)
|
||||
VALUES (NOW(), ?, 'success', ?)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CÁLCULO DE SALDO
|
||||
|
||||
O dashboard calcula automaticamente:
|
||||
|
||||
```php
|
||||
// Horas entregues (timesheets Desk)
|
||||
SELECT SUM(
|
||||
CASE
|
||||
WHEN LENGTH(start_time) < 15 THEN (end_time - start_time) / 3600 -- Unix timestamp
|
||||
ELSE TIMESTAMPDIFF(SECOND, start_time, end_time) / 3600 -- Datetime
|
||||
END
|
||||
) FROM tbltaskstimers tt
|
||||
INNER JOIN tbltasks t ON tt.task_id = t.id
|
||||
WHERE t.rel_id = [desk_project_id] AND t.rel_type = 'project'
|
||||
|
||||
// Horas facturadas (Moloni)
|
||||
SELECT SUM(hours_invoiced) FROM billing_360_invoices WHERE client_id = ?
|
||||
|
||||
// Saldo
|
||||
Saldo = Horas_Facturadas - Horas_Entregues
|
||||
```
|
||||
|
||||
### Interpretação
|
||||
|
||||
| Saldo | Status | Significado |
|
||||
|-------|--------|-------------|
|
||||
| > +5h | 🟢 credit | Temos crédito (cliente não usou) |
|
||||
| -5h a +5h | 🟡 ok | Equilibrado |
|
||||
| < -5h | 🔴 debt | Devemos horas (trabalhámos mais) |
|
||||
|
||||
---
|
||||
|
||||
## MCPs NECESSÁRIOS
|
||||
|
||||
### Carregar Tools
|
||||
|
||||
```
|
||||
ToolSearch: "+moloni invoices"
|
||||
ToolSearch: "+desk timesheets"
|
||||
```
|
||||
|
||||
### Moloni
|
||||
|
||||
| Tool | Uso |
|
||||
|------|-----|
|
||||
| `moloni_company_company_getall` | Company ID (69473) |
|
||||
| `moloni_documents_invoices_getall` | Listar facturas |
|
||||
| `moloni_documents_invoices_getone` | Detalhe factura |
|
||||
|
||||
### Desk CRM
|
||||
|
||||
| Tool | Uso |
|
||||
|------|-----|
|
||||
| `get_timesheets` | Horas por projecto |
|
||||
| `timesheet_summary` | Resumo período |
|
||||
|
||||
---
|
||||
|
||||
## EXEMPLO DE USO
|
||||
|
||||
```
|
||||
/billing-check # Sincronizar todos
|
||||
/billing-check --client SolarFV # Apenas SolarFV
|
||||
/billing-check --report # Relatório sem sync
|
||||
```
|
||||
|
||||
### Output Esperado
|
||||
|
||||
```markdown
|
||||
## Billing Check - 2026-02-02
|
||||
|
||||
### Sincronização Moloni → BD
|
||||
|
||||
| Cliente | Facturas Novas | Total Sync |
|
||||
|---------|---------------|------------|
|
||||
| SolarFV | 1 | 3 |
|
||||
| Carstuff | 0 | 2 |
|
||||
|
||||
### Saldos Actuais
|
||||
|
||||
| Cliente | Facturado | Entregue | Saldo | Status |
|
||||
|---------|-----------|----------|-------|--------|
|
||||
| SolarFV | 30h | 28.5h | +1.5h | 🟡 OK |
|
||||
| Carstuff | 60h | 72.3h | -12.3h | 🔴 DEBT |
|
||||
|
||||
### Alertas
|
||||
⚠️ **Carstuff**: 12.3h extra por facturar (~501€)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## VALORES DE REFERÊNCIA (2026)
|
||||
|
||||
| Cliente | Avença | Valor/Hora | Valor Mensal |
|
||||
|---------|--------|------------|--------------|
|
||||
| SolarFV | 10h/mês | 45.90€ | 459€ + IVA |
|
||||
| Carstuff | 30h/mês | 40.80€ | 1224€ + IVA |
|
||||
|
||||
---
|
||||
|
||||
## TROUBLESHOOTING
|
||||
|
||||
### Factura sem padrão "Avença X horas"
|
||||
- Verificar descrição manual
|
||||
- Pode ser factura de extras (não contar como avença)
|
||||
|
||||
### Cliente novo
|
||||
1. Adicionar à tabela `billing_360_clients`
|
||||
2. Obter `moloni_customer_id` via pesquisa
|
||||
3. Definir `monthly_hours` do contrato
|
||||
|
||||
### Timestamps mistos no Desk
|
||||
- O query do dashboard já trata Unix e datetime
|
||||
- Conversão automática
|
||||
|
||||
---
|
||||
|
||||
## CHANGELOG
|
||||
|
||||
### v2.0.0 (2026-02-02)
|
||||
- Integração com tabelas BD (billing_360_*)
|
||||
- Sincronização automática dias 5, 15, 25
|
||||
- Dashboard dinâmico em plan-eal.descomplicar.pt
|
||||
- Tratamento de timestamps híbridos
|
||||
|
||||
### v1.0.0 (2026-01-27)
|
||||
- Versão inicial
|
||||
- Documentação de mapeamento Desk ↔
|
||||
@@ -0,0 +1,158 @@
|
||||
---
|
||||
name: crm-admin
|
||||
description: Administração e manutenção do Desk CRM. Gestão de utilizadores, permissões, campos personalizados, configuração de sistema e módulos Perfex.
|
||||
disable-model-invocation: true
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# CRM Admin Specialist
|
||||
|
||||
Skill para gestão e desenvolvimento Perfex CRM seguindo padrões Descomplicar®.
|
||||
|
||||
## Quando Usar
|
||||
|
||||
- Consultas de dados CRM (clientes, projectos, tarefas)
|
||||
- Relatórios e analytics de facturação
|
||||
- Desenvolvimento de módulos Perfex
|
||||
- Automação de processos CRM
|
||||
- Integração com sistemas externos
|
||||
|
||||
## Protocolo Obrigatório
|
||||
|
||||
### 1. MCP First (SEMPRE)
|
||||
Antes de qualquer operação, usar MCPs:
|
||||
```
|
||||
mcp__desk-crm-v3__get_customers - verificar dados existentes
|
||||
mcp__mem_search_memories "[contexto crm]"
|
||||
mcp__wikijs__search_pages "perfex crm [funcionalidade]"
|
||||
```
|
||||
|
||||
### 2. Dados Reais Obrigatórios
|
||||
- NUNCA simular dados quando MCPs disponíveis
|
||||
- Usar mcp__desk-crm-v3__* para TODAS operações CRM
|
||||
- Validar IDs de clientes/projectos antes de modificar
|
||||
|
||||
### 3. Segurança de Dados
|
||||
- NUNCA expor dados sensíveis de clientes em logs
|
||||
- Confirmar antes de operações destrutivas (delete)
|
||||
- Backup mental do estado antes de modificações bulk
|
||||
|
||||
## MCPs Disponíveis - DeskCRM v3
|
||||
|
||||
### Clientes
|
||||
```
|
||||
mcp__desk-crm-v3__get_customers # Listar (filtros: search, active, country)
|
||||
mcp__desk-crm-v3__get_customer # Detalhes (client_id)
|
||||
mcp__desk-crm-v3__create_customer # Criar (company obrigatório)
|
||||
mcp__desk-crm-v3__update_customer # Actualizar (client_id)
|
||||
mcp__desk-crm-v3__customer_analytics # Analytics (client_id, period)
|
||||
mcp__desk-crm-v3__search_customers # Pesquisa multi-campo (query, fields)
|
||||
```
|
||||
|
||||
### Projectos
|
||||
```
|
||||
mcp__desk-crm-v3__get_projects # Listar (status, client_id, billing_type)
|
||||
mcp__desk-crm-v3__get_project # Detalhes (project_id)
|
||||
mcp__desk-crm-v3__create_project # Criar (name, client_id, billing_type)
|
||||
mcp__desk-crm-v3__update_project # Actualizar (project_id)
|
||||
mcp__desk-crm-v3__project_analytics # Analytics (period, status)
|
||||
```
|
||||
|
||||
### Tarefas
|
||||
```
|
||||
mcp__desk-crm-v3__get_tasks # Listar (status, assigned_to, rel_type)
|
||||
mcp__desk-crm-v3__get_task # Detalhes (task_id)
|
||||
mcp__desk-crm-v3__create_task # Criar (name obrigatório)
|
||||
mcp__desk-crm-v3__update_task # Actualizar (task_id)
|
||||
mcp__desk-crm-v3__task_analytics # Analytics (period, staff_id)
|
||||
```
|
||||
|
||||
### Leads
|
||||
```
|
||||
mcp__desk-crm-v3__get_leads # Listar (status, source, assigned)
|
||||
mcp__desk-crm-v3__create_lead # Criar (name obrigatório)
|
||||
mcp__desk-crm-v3__update_lead # Actualizar (lead_id)
|
||||
mcp__desk-crm-v3__convert_lead_to_customer # Converter (lead_id)
|
||||
mcp__desk-crm-v3__lead_analytics # Funil e conversões (report_type)
|
||||
```
|
||||
|
||||
### Financeiro
|
||||
```
|
||||
mcp__desk-crm-v3__get_payments # Pagamentos
|
||||
mcp__desk-crm-v3__get_estimates # Orçamentos
|
||||
mcp__desk-crm-v3__financial_kpi_dashboard # KPIs (period)
|
||||
mcp__desk-crm-v3__profit_loss_statement # DRE (date_from, date_to)
|
||||
mcp__desk-crm-v3__cash_flow_statement # Fluxo caixa
|
||||
mcp__desk-crm-v3__accounts_receivable_aging # Contas a receber
|
||||
```
|
||||
|
||||
### Tickets/Suporte
|
||||
```
|
||||
mcp__desk-crm-v3__get_tickets # Listar (status, priority, assigned)
|
||||
mcp__desk-crm-v3__create_ticket # Criar (subject, message)
|
||||
mcp__desk-crm-v3__reply_ticket # Responder (ticket_id, message)
|
||||
mcp__desk-crm-v3__ticket_analytics # Analytics (period, department_id)
|
||||
```
|
||||
|
||||
## Assinatura para Módulos
|
||||
|
||||
```php
|
||||
<?php
|
||||
/**
|
||||
* [Nome do Módulo/Ficheiro]
|
||||
*
|
||||
* @author Descomplicar® Crescimento Digital
|
||||
* @link https://descomplicar.pt
|
||||
* @copyright 2025 Descomplicar®
|
||||
*/
|
||||
```
|
||||
|
||||
## Padrões de Relatórios
|
||||
|
||||
Ao gerar relatórios, incluir:
|
||||
1. **Período**: Data início/fim claramente indicada
|
||||
2. **Totais**: Agregações relevantes
|
||||
3. **Top N**: Rankings quando aplicável
|
||||
4. **Comparação**: Com período anterior se relevante
|
||||
|
||||
## Checklist Consultas
|
||||
|
||||
- [ ] Usar MCPs para dados reais
|
||||
- [ ] Validar IDs antes de operações
|
||||
- [ ] Não expor dados sensíveis
|
||||
- [ ] Confirmar operações destrutivas
|
||||
- [ ] Apresentar dados formatados PT-PT
|
||||
|
||||
---
|
||||
|
||||
## Datasets Dify (Consulta Obrigatória)
|
||||
|
||||
Em caso de dúvidas ou para aprofundar conhecimento, consultar os seguintes datasets via MCP:
|
||||
|
||||
| Dataset | ID | Prioridade |
|
||||
|---------|----|-----------:|
|
||||
| **PerfexCRM** | `43354eb6-f0b2-40cc-aa53-44e375ab347c` | 1 |
|
||||
| **Vendas** | `a7ba6005-517c-41ab-ac5e-da1c1a1c62ef` | 2 |
|
||||
| **Gestão** | `22799925-8dc5-4a1f-92b9-233468a5048b` | 2 |
|
||||
| **Gestão de Processos** | `cae2a27e-f5bc-4d75-8a7a-9f83064f2512` | 3 |
|
||||
|
||||
### Como Consultar
|
||||
|
||||
```javascript
|
||||
// Pesquisar funcionalidades Perfex
|
||||
mcp__notebooklm__notebook_query, mcp__dify-kb__dify_kb_retrieve_segments({
|
||||
dataset_id: "43354eb6-f0b2-40cc-aa53-44e375ab347c",
|
||||
query: "modulo facturas automaticas"
|
||||
})
|
||||
|
||||
// Pesquisar técnicas de vendas
|
||||
mcp__dify-kb__dify_kb_retrieve_segments({
|
||||
dataset_id: "a7ba6005-517c-41ab-ac5e-da1c1a1c62ef",
|
||||
query: "pipeline vendas conversao"
|
||||
})
|
||||
```
|
||||
|
||||
### Quando Consultar
|
||||
|
||||
- Desenvolver módulos Perfex CRM
|
||||
- Configurar automações de
|
||||
@@ -0,0 +1,224 @@
|
||||
---
|
||||
name: crm
|
||||
description: Operações CRM unificadas. Leads, customers, proposals, estimates e visão 360 do cliente. Consolida crm-ops e crm-admin com verificação obrigatória de duplicados.
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# /crm v2.0 - Operações CRM Unificadas
|
||||
|
||||
Consolida /crm-ops + /crm-admin numa única skill com subcomandos.
|
||||
|
||||
---
|
||||
|
||||
## Contexto NotebookLM
|
||||
|
||||
ANTES de executar, consultar notebooks para contexto especializado:
|
||||
|
||||
| Notebook | ID | Consultar quando |
|
||||
|----------|-----|-----------------|
|
||||
| Perfex CRM: Gestão de Clientes e Projectos | df4688bb | Sempre |
|
||||
|
||||
```
|
||||
mcp__notebooklm__notebook_query({
|
||||
notebook_id: "df4688bb-c2c0-4aba-98c1-38c3b50a353c",
|
||||
query: "<adaptar ao contexto do pedido do utilizador>"
|
||||
})
|
||||
```
|
||||
|
||||
Integrar insights do NotebookLM nas recomendações e decisões.
|
||||
|
||||
### Procedimentos Relacionados
|
||||
- `PROC-CRM-Operacoes.md` — Operações CRM padrão
|
||||
|
||||
---
|
||||
|
||||
## Comandos
|
||||
|
||||
| Comando | Função |
|
||||
|---------|--------|
|
||||
| `/crm` | Resumo: leads recentes, clientes activos |
|
||||
| `/crm lead <nome>` | Pesquisar/criar lead |
|
||||
| `/crm customer <nome>` | Pesquisar/ver cliente |
|
||||
| `/crm convert <lead_id>` | Converter lead → customer |
|
||||
| `/crm proposal <lead_id>` | Criar proposta para lead |
|
||||
| `/crm estimate <client_id>` | Criar estimate para cliente |
|
||||
| `/crm 360 <cliente>` | Visão completa do cliente |
|
||||
|
||||
---
|
||||
|
||||
## Definições Críticas
|
||||
|
||||
### Lead vs Customer
|
||||
|
||||
| Aspecto | LEAD | CUSTOMER |
|
||||
|---------|------|----------|
|
||||
| O que é | Prospect | Cliente activo |
|
||||
| Tabela | tblleads | tblclients + tblcontacts |
|
||||
| Recebe | Proposals | Estimates, Invoices |
|
||||
| Conversão | → Customer | Já é cliente |
|
||||
|
||||
**Regra:** Novos contactos são SEMPRE leads primeiro.
|
||||
|
||||
### Proposal vs Estimate
|
||||
|
||||
| Aspecto | PROPOSAL | ESTIMATE |
|
||||
|---------|----------|----------|
|
||||
| Para quem | LEADS | CUSTOMERS |
|
||||
| Termo PT | Orçamento/Proposta | Estimativa formal |
|
||||
| Converte | Lead→Customer | → Invoice |
|
||||
|
||||
**Regra:** "Orçamento" para lead = PROPOSAL
|
||||
|
||||
---
|
||||
|
||||
## Protocolo
|
||||
|
||||
### /crm (Resumo)
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_leads({ limit: 5, sort: "-dateadded" })
|
||||
2. mcp__desk-crm-v3__get_tasks({ status: [1,4], limit: 5 })
|
||||
3. Mostrar resumo
|
||||
```
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
## 📊 CRM Resumo
|
||||
|
||||
### 🎯 Leads Recentes (5)
|
||||
| Nome | Empresa | Valor | Status |
|
||||
|------|---------|-------|--------|
|
||||
| João Silva | TechCorp | €5.000 | Novo |
|
||||
| Maria Costa | StartupX | €3.500 | Contactado |
|
||||
|
||||
### 📋 Tarefas Pendentes (3)
|
||||
- #1450 [Alta] Follow-up TechCorp
|
||||
- #1448 [Normal] Proposta StartupX
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /crm lead <nome>
|
||||
|
||||
**Workflow Anti-Duplicados (OBRIGATÓRIO):**
|
||||
|
||||
```
|
||||
1. Pesquisar em leads:
|
||||
mcp__desk-crm-v3__get_leads({ search: nome })
|
||||
2. Pesquisar em customers:
|
||||
mcp__desk-crm-v3__search_customers({ query: nome })
|
||||
3. SE encontrar:
|
||||
- Mostrar resultados
|
||||
- "Encontrei X. É este ou criar novo?"
|
||||
4. SE não encontrar:
|
||||
- "Não encontrei [nome]. Criar lead?"
|
||||
- AGUARDAR confirmação
|
||||
5. SÓ após confirmação:
|
||||
mcp__desk-crm-v3__create_lead({
|
||||
name: nome,
|
||||
email: email,
|
||||
company: empresa,
|
||||
source: 1,
|
||||
assigned: 1
|
||||
})
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /crm customer <nome>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__search_customers({ query: nome })
|
||||
2. Se encontrar: Mostrar detalhes
|
||||
3. Se não encontrar: "Não encontrado. Existe lead para converter?"
|
||||
```
|
||||
|
||||
**Nunca criar customer automaticamente!**
|
||||
|
||||
---
|
||||
|
||||
### /crm convert <lead_id>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_lead({ lead_id })
|
||||
2. Mostrar dados do lead
|
||||
3. "Converter lead #X para cliente?"
|
||||
4. Após confirmação:
|
||||
mcp__desk-crm-v3__convert_lead_to_customer({ lead_id })
|
||||
5. Retornar ID do novo cliente
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /crm proposal <lead_id>
|
||||
|
||||
```
|
||||
1. Verificar que é lead (não customer)
|
||||
2. Perguntar detalhes:
|
||||
- Assunto
|
||||
- Itens (descrição, qtd, valor)
|
||||
3. mcp__desk-crm-v3__create_proposal({
|
||||
lead_id: lead_id,
|
||||
subject: assunto,
|
||||
status: 1
|
||||
})
|
||||
4. mcp__desk-crm-v3__add_proposal_items({
|
||||
proposal_id: id,
|
||||
items: [...]
|
||||
})
|
||||
5. "Proposta #X criada. Enviar? [Sim/Não]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /crm estimate <client_id>
|
||||
|
||||
```
|
||||
1. Verificar que é customer (não lead)
|
||||
2. mcp__desk-crm-v3__get_customer({ customer_id: client_id })
|
||||
3. Perguntar detalhes
|
||||
4. mcp__desk-crm-v3__create_estimate({
|
||||
client_id: client_id,
|
||||
items: [...],
|
||||
status: 1
|
||||
})
|
||||
5. "Estimate #X criado. Enviar? [Sim/Não]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /crm 360 <cliente>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__search_customers({ query: cliente })
|
||||
2. mcp__desk-crm-v3__get_customer({ customer_id })
|
||||
3. mcp__desk-crm-v3__get_projects({ client_id })
|
||||
4. mcp__desk-crm-v3__get_invoices({ client_id })
|
||||
5. mcp__desk-crm-v3__get_tickets({ client_id })
|
||||
6. mcp__desk-crm-v3__get_customer_notes({ customer_id })
|
||||
7. Compilar visão 360
|
||||
```
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
## 👤 Cliente: XYZ Lda (#45)
|
||||
|
||||
### Dados
|
||||
- **Email:** contacto@xyz.pt
|
||||
- **Telefone:** +351 912 345 678
|
||||
- **NIF:** 123456789
|
||||
- **Desde:** Janeiro 2024
|
||||
|
||||
### 📁 Projectos (3)
|
||||
| Nome | Status | Progresso |
|
||||
|------|--------|-----------|
|
||||
| Website Corporativo | Em Curso | 75% |
|
||||
| Manutenção Anual | Rotina | - |
|
||||
| App Mobile | Concluído | 100% |
|
||||
|
||||
### 💰 Financeiro
|
||||
| Métrica | Valor |
|
||||
|---------|-------|
|
||||
| Total facturado | €
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"task_id": null,
|
||||
"project_id": null,
|
||||
"customer_id": null,
|
||||
"gitea_repo": null
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
---
|
||||
name: desk
|
||||
description: Contexto de projecto via .desk-project. Auto-detecção, integração com /time, status rápido, criação de tarefas e changelog. Sistema Triângulo Desk-GDrive-Local.
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# /desk v3.0 - Contexto de Projecto
|
||||
|
||||
Integração automática com Desk CRM via `.desk-project`. Sistema Triângulo.
|
||||
|
||||
---
|
||||
|
||||
## Novidades v3.0
|
||||
|
||||
- **Integração /time:** Mostrar timer activo do projecto
|
||||
- **Remover /desk-time:** Usar `/time` directamente
|
||||
- **Novo /desk status:** Resumo rápido
|
||||
- **Sync bidirecional:** Actualizar .desk-project se dados mudarem
|
||||
|
||||
---
|
||||
|
||||
## Comandos
|
||||
|
||||
| Comando | Função |
|
||||
|---------|--------|
|
||||
| `/desk` | Mostrar contexto completo |
|
||||
| `/desk status` | Resumo rápido (timer + tarefas) |
|
||||
| `/desk task <desc>` | Criar tarefa no projecto |
|
||||
| `/desk log <msg>` | Adicionar changelog |
|
||||
| `/desk init` | Inicializar .desk-project |
|
||||
|
||||
**Removido:** `/desk-time` → usar `/time` directamente
|
||||
|
||||
---
|
||||
|
||||
## Protocolo
|
||||
|
||||
### Auto-detecção
|
||||
|
||||
Ao entrar numa pasta:
|
||||
|
||||
```
|
||||
1. Verificar se existe .desk-project
|
||||
2. Se existe:
|
||||
a. Ler configuração
|
||||
b. Carregar contexto silenciosamente
|
||||
c. Mostrar linha breve: "📁 Projecto X (#ID) | Y tarefas"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /desk (Contexto Completo)
|
||||
|
||||
```
|
||||
1. Ler .desk-project
|
||||
2. mcp__desk-crm-v3__get_project({ project_id })
|
||||
3. mcp__desk-crm-v3__get_tasks({ project_id, status: [1,4] })
|
||||
4. Verificar timer activo em ~/.claude-work/active-timer.json
|
||||
5. mcp__desk-crm-v3__get_project_time_tracking({ project_id })
|
||||
6. Mostrar resumo completo
|
||||
```
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
## 📁 Stack Workflow (#65)
|
||||
|
||||
### Contexto
|
||||
- **Cliente:** Descomplicar (interno)
|
||||
- **Status:** Em Curso
|
||||
- **Progresso:** 65%
|
||||
|
||||
### ⏱️ Timer Activo
|
||||
🟢 #1446 - Documentação Skills (2h 15m)
|
||||
|
||||
### 📋 Tarefas Pendentes (5)
|
||||
| ID | Nome | Prioridade |
|
||||
|----|------|------------|
|
||||
| #1450 | Implementar /invoice | Alta |
|
||||
| #1448 | Testar /time v2 | Normal |
|
||||
|
||||
### ⏰ Tempo Esta Semana
|
||||
- Total: 12h 30m
|
||||
- Billable: 10h (80%)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /desk status (Resumo Rápido)
|
||||
|
||||
```
|
||||
1. Ler .desk-project
|
||||
2. Verificar timer activo
|
||||
3. Contar tarefas pendentes
|
||||
4. Mostrar 1-2 linhas
|
||||
```
|
||||
|
||||
**Output:**
|
||||
|
||||
```
|
||||
📁 Stack (#65) | 🟢 Timer: #1446 (2h) | 📋 5 tarefas | ⏰ 12h esta semana
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /desk task <descrição>
|
||||
|
||||
```
|
||||
1. Ler .desk-project (project_id, default_milestone, default_tags)
|
||||
2. mcp__desk-crm-v3__create_task({
|
||||
name: descrição,
|
||||
rel_type: "project",
|
||||
rel_id: project_id,
|
||||
milestone_id: default_milestone,
|
||||
assignees: [25], // AikTop
|
||||
status: 1,
|
||||
priority: 2,
|
||||
description: "<p>Criado via /desk task</p>"
|
||||
})
|
||||
3. Confirmar: "Tarefa #X criada. Iniciar timer? [Sim/Não]"
|
||||
4. Se sim: Invocar /time start X
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /desk log <mensagem>
|
||||
|
||||
```
|
||||
1. Ler .desk-project (changelog_discussion_id)
|
||||
2. Se não existe discussão:
|
||||
a. Criar discussão "Changelog - [Projecto]"
|
||||
b. Actualizar .desk-project com ID
|
||||
3. Formatar mensagem em HTML:
|
||||
<h4>[DATA] [tipo]: Mensagem</h4>
|
||||
<p>Detalhes...</p>
|
||||
4. mcp__desk-crm-v3__add_discussion_comment({
|
||||
discussion_id: changelog_discussion_id,
|
||||
content: html,
|
||||
staff_id: 25
|
||||
})
|
||||
5. Confirmar
|
||||
```
|
||||
|
||||
**Prefixos reconhecidos:**
|
||||
- `feat:` - Nova funcionalidade
|
||||
- `fix:` - Correcção
|
||||
- `docs:` - Documentação
|
||||
- `refactor:` - Refactoring
|
||||
|
||||
---
|
||||
|
||||
### /desk init
|
||||
|
||||
```
|
||||
1. Perguntar projecto (ID ou pesquisar por nome)
|
||||
2. mcp__desk-crm-v3__get_project({ project_id })
|
||||
3. Criar .desk-project:
|
||||
{
|
||||
"project_id": 80,
|
||||
"project_name": "Nome",
|
||||
"client_id": 18,
|
||||
"desk_url": "https://desk.descomplicar.pt/admin/projects/view/80",
|
||||
"gdrive_folder": null,
|
||||
"local_path": pwd,
|
||||
"default_milestone": null,
|
||||
"default_tags": ["development"],
|
||||
"changelog_discussion_id": null,
|
||||
"created_at": "2026-02-05"
|
||||
}
|
||||
4. Perguntar: "Criar discussão de changelog? [Sim/Não]"
|
||||
5. Confirmar setup
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Estrutura .desk-project
|
||||
|
||||
```json
|
||||
{
|
||||
"project_id": 65,
|
||||
"project_name": "Stack Workflow",
|
||||
"client_id": null,
|
||||
"desk_url": "https://desk.descomplicar.pt/admin/projects/view/65",
|
||||
"gdrive_folder": null,
|
||||
"local_path": "/home/ealmeida/.claude",
|
||||
"default_milestone": null,
|
||||
"default_tags": ["development"],
|
||||
"changelog_discussion_id": 31,
|
||||
"created_at": "2026-02-05"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Sistema Triângulo
|
||||
|
||||
> Desk↔GDrive↔Local - Qualquer ponto leva aos outros
|
||||
|
||||
**Implementação:**
|
||||
- **Desk:** Campos Pasta GDrive + Pasta Local preenchidos
|
||||
- **Local:** .desk-project com todos os links
|
||||
- **GDrive:** README.md com links Desk + Local
|
||||
- **Obsidian:** Frontmatter com desk_project
|
||||
|
||||
---
|
||||
|
||||
## Integração /time
|
||||
|
||||
- `/desk` mostra timer activo se no projecto actual
|
||||
- `/desk task` oferece iniciar timer
|
||||
- Remover comandos de tempo duplicados
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- **NUNCA** criar .desk-project sem verificar se projecto existe
|
||||
- **NUNCA** usar /desk-time (usar /time)
|
||||
- **NUNCA** criar tarefas sem projecto associado
|
||||
|
||||
---
|
||||
|
||||
## Changelog
|
||||
|
||||
### v3.0.0 (2026-02-05)
|
||||
- Integração completa com /time
|
||||
- Remover /desk-time (usar /time)
|
||||
- Novo /desk status para resumo rápido
|
||||
- Mostrar timer activo no contexto
|
||||
- Sync bidirecional .desk-project
|
||||
|
||||
### v
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"project_id": 0,
|
||||
"project_name": "Nome do Projecto",
|
||||
"client_id": null,
|
||||
"default_milestone": null,
|
||||
"auto_log_time": false,
|
||||
"default_task_tags": [],
|
||||
"changelog_discussion_id": null,
|
||||
"_comment": "Ficheiro gerado por /desk-init. Editar project_id e project_name."
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
---
|
||||
name: estrategia-marca
|
||||
description: Cria estratégias de marca completas seguindo a metodologia Descomplicar® (ACIDA + Framework 16Ps). Inclui fase de pesquisa de mercado com /deep-research antes do briefing. Guia a análise de público, posicionamento, Pitch Canvas, copywriting e documento final entregável. Usar quando o utilizador diz "estratégia de marca", "branding", "criar marca", "posicionamento", "16Ps", "/estrategia-marca", "análise de público", "narrativa de marca", "proposta de valor", "pitch canvas", "pain + gain", "copywriting estratégico", "identidade de marca", "pesquisa de mercado para marca", ou quando um cliente adquire o serviço EST-MRK-010.
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# Skill: Estratégia de Marca
|
||||
|
||||
Guia completo para criar estratégias de marca Descomplicar® — da pesquisa de mercado ao documento final entregável.
|
||||
|
||||
---
|
||||
|
||||
## Fluxo de trabalho (8 fases)
|
||||
|
||||
### Fase 0 — Pesquisa de mercado
|
||||
|
||||
Antes do briefing com o cliente, fazer pesquisa independente. Verificar primeiro se já existem ficheiros de pesquisa (ex: pasta `Pesquisas/` no projecto).
|
||||
|
||||
**Se a pesquisa já existe:** ler os ficheiros relevantes e extrair síntese.
|
||||
|
||||
**Se não existe:** usar `/deep-research` (ou `mcp__tavily__tavily_research`) com os seguintes focos:
|
||||
|
||||
1. **Mercado/sector** — dimensão, crescimento, tendências, regulação
|
||||
2. **Concorrentes** — posicionamento, mensagens, pricing, pontos fracos
|
||||
3. **Público** — linguagem online, canais activos, dores expressas em fóruns/reviews
|
||||
4. **Oportunidades** — gaps de mercado, tendências emergentes não exploradas
|
||||
|
||||
Guardar síntese em `Pesquisas/sintese-mercado.md` no projecto do cliente.
|
||||
|
||||
**Resultado esperado:** chegar ao briefing já com hipóteses validadas sobre o mercado e o público — não para impor, mas para fazer perguntas mais certeiras e poupar tempo ao cliente.
|
||||
|
||||
### Fase 1 — Activação e contexto
|
||||
|
||||
Ao iniciar, perguntar:
|
||||
- Qual o nome do cliente/marca?
|
||||
- Já existe briefing ou material de partida?
|
||||
- Qual o sector/indústria?
|
||||
- Temos exemplos de concorrentes?
|
||||
|
||||
Se existir projecto no Desk CRM, verificar com `get_project` antes de prosseguir.
|
||||
|
||||
### Fase 2 — Briefing estruturado
|
||||
|
||||
Conduzir entrevista com as perguntas de `references/perguntas-briefing.md`.
|
||||
|
||||
Organizar por blocos:
|
||||
1. Negócio (problema, serviços, mercado)
|
||||
2. Público-alvo (segmentos identificados)
|
||||
3. Posicionamento actual vs desejado
|
||||
4. Tom de voz e personalidade
|
||||
5. Concorrência e diferenciação
|
||||
|
||||
### Fase 3 — Fundamentos estratégicos
|
||||
|
||||
Desenvolver com o cliente:
|
||||
- **Proposta de valor única** — o que nos torna únicos, diferenciais, benefícios por camada
|
||||
- **Missão, Visão, Valores e Objectivos** — com exemplos de como se manifestam na prática
|
||||
- **Apresentação sumária** — empresa + serviços com tabela clara
|
||||
- **Posicionamento** — declaração de posicionamento testável
|
||||
|
||||
Ver `references/framework-16ps.md` → Bloco A para questões orientadoras.
|
||||
|
||||
### Fase 4 — Análise de público (20 pontos por segmento)
|
||||
|
||||
**Obrigatório:** Antes dos segmentos psicográficos, identificar os nichos sectoriais relevantes para o produto. Usar `references/nichos.md` para seleccionar e analisar **pelo menos 5 nichos específicos** (ex: clínicas de saúde, imobiliárias, agências digitais — não "PMEs" como categoria vaga). Para cada nicho preencher os 8 pontos do guia de análise sectorial. Cruzar com os 20 pontos psicográficos abaixo para construir personas completas.
|
||||
|
||||
Para cada segmento identificado, desenvolver os 20 pontos na seguinte ordem:
|
||||
|
||||
1. Perfil Demográfico
|
||||
2. Perfil Psicográfico
|
||||
3. Dores
|
||||
4. Anseios
|
||||
5. Desejos
|
||||
6. Frustrações
|
||||
7. Preocupações
|
||||
8. Medos
|
||||
9. Inimigos
|
||||
10. Linguagem
|
||||
11. Como procuram ajuda/informação/dicas
|
||||
12. Canais digitais activos
|
||||
13. Estilo de Decisão
|
||||
14. Mudanças (que sabem necessárias)
|
||||
15. Resistência à mudança
|
||||
16. Objecções típicas (+ como ultrapassar)
|
||||
17. Forma de gerar emoção
|
||||
18. Argumentos (a que são mais sensíveis)
|
||||
19. Concorrentes (que alternativas avaliam)
|
||||
20. Propostas Recusadas (e porquê)
|
||||
|
||||
Ver `references/metodologia-acida.md` para contexto e profundidade em cada ponto.
|
||||
|
||||
### Fase 5 — Pitch Canvas
|
||||
|
||||
Estrutura de 5 elementos:
|
||||
- **Para quem:** segmento + problema específico
|
||||
- **O problema:** dor principal na linguagem do cliente
|
||||
- **A solução:** mecanismo único de resolução
|
||||
- **O resultado:** transformação concreta (antes/depois + métrica)
|
||||
- **Por que nós:** razão para acreditar
|
||||
|
||||
Criar também a **Declaração de mudança no mundo** — frase que resume o impacto maior da marca.
|
||||
|
||||
### Fase 6 — Copywriting estratégico
|
||||
|
||||
Sequência obrigatória:
|
||||
|
||||
1. **Questionamento estratégico** — Qual é o objectivo da comunicação? Que transformação prometemos?
|
||||
2. **Pain + Gain** — formulação problema/resultado na linguagem do cliente; depois refinar com especificidades do sector
|
||||
3. **Narrativa por segmento** — fórmula: Problema (dor do público) → Solução (serviços) → Resultado (benefícios concretos)
|
||||
4. **Mensagem central** — 1 frase que toda a equipa sabe de cor
|
||||
5. **Headlines** — por segmento (principal + secundária)
|
||||
|
||||
Ver `references/narrativas-copywriting.md` para templates e exemplos reais.
|
||||
|
||||
#
|
||||
@@ -0,0 +1,193 @@
|
||||
# Framework 16Ps — Referência Completa
|
||||
|
||||
Estrutura os 16 elementos da estratégia de marca em 4 blocos. Para cada P, incluir as questões orientadoras ao preencher.
|
||||
|
||||
---
|
||||
|
||||
## Bloco A — Fundamentos estratégicos
|
||||
|
||||
### P1: Problema
|
||||
> Qual o problema principal que a marca resolve?
|
||||
|
||||
- Problema de negócio que a estratégia precisa resolver
|
||||
- Impacto desse problema no cliente (custo, tempo, risco, reputação)
|
||||
- Urgência da solução: por que resolver agora?
|
||||
- Consequências de não resolver
|
||||
|
||||
*Exemplo SFV:* "Facturas de electricidade crescentes que consomem margens das empresas e rendimento das famílias, sem solução acessível percebida."
|
||||
|
||||
### P2: Propósito
|
||||
> Por que existe esta marca além do lucro?
|
||||
|
||||
- **Missão:** o que fazemos e para quem (hoje)
|
||||
- **Visão:** onde queremos chegar (3-5 anos)
|
||||
- **Valores:** 3-5 valores fundamentais com descrição de como se manifestam
|
||||
- **Propósito:** impacto no mundo que justifica a existência da marca
|
||||
|
||||
*Estrutura valores:* [Nome do Valor] — [Como se manifesta na prática]
|
||||
|
||||
### P3: Proposta de Valor
|
||||
> O que tornamos possível que os concorrentes não conseguem?
|
||||
|
||||
- Valor único que só esta marca entrega
|
||||
- Diferenciais competitivos (lista)
|
||||
- Benefícios principais (funcionais + emocionais)
|
||||
- Formula: Para [segmento], que [dor/desejo], a [marca] oferece [solução] que [resultado único], ao contrário de [alternativa], porque [razão para acreditar]
|
||||
|
||||
### P4: Posicionamento
|
||||
> Que lugar específico ocupa na mente do cliente?
|
||||
|
||||
- Posição actual no mercado (percepção real)
|
||||
- Posição desejada (percepção target)
|
||||
- Declaração de posicionamento (1-2 frases)
|
||||
- Território da marca: categoria, concorrência directa, diferenciação
|
||||
- Atributos únicos que definem esse território
|
||||
|
||||
*Declaração-tipo:* "Para [público], somos a única [categoria] que [benefício único] porque [prova]."
|
||||
|
||||
### P5: Performance
|
||||
> Como medimos o sucesso?
|
||||
|
||||
- KPIs principais (5-7 métricas)
|
||||
- Metas específicas a 3, 6 e 12 meses
|
||||
- Indicadores de sucesso por área (brand awareness, conversão, satisfação)
|
||||
- Frequência de monitorização e responsável
|
||||
|
||||
---
|
||||
|
||||
## Bloco B — Público e pesquisa
|
||||
|
||||
### P6: Público-alvo
|
||||
> Quem são exactamente os nossos clientes?
|
||||
|
||||
- Segmento principal + segmentos secundários
|
||||
- Critérios de segmentação (demográficos, comportamentais, psicográficos)
|
||||
- Volume estimado de cada segmento
|
||||
- Comportamento de compra: frequência, ticket médio, canal preferido
|
||||
|
||||
### P7: Pesquisa de mercado
|
||||
> Que dados sustentam as nossas decisões?
|
||||
|
||||
- Dados de mercado: dimensão, crescimento, tendências
|
||||
- Insights de comportamento do consumidor
|
||||
- Oportunidades identificadas (não aproveitadas pela concorrência)
|
||||
- Ameaças e riscos do mercado
|
||||
|
||||
### P8: Personas
|
||||
> Quem é o nosso cliente ideal em detalhe?
|
||||
|
||||
Para cada persona:
|
||||
- **Foto + nome fictício + idade + profissão**
|
||||
- **Biografia resumida** (um dia típico)
|
||||
- **Dores principais** (3-5)
|
||||
- **Objectivos** (profissionais + pessoais)
|
||||
- **Canais preferidos** (onde está, o que consome)
|
||||
- **Citação representativa** ("Eu quero/preciso/temo...")
|
||||
- **Frase de posicionamento** para esta persona
|
||||
|
||||
### P9: Perfil
|
||||
> Quais as características quantificáveis de cada segmento?
|
||||
|
||||
Análise de 20 pontos por segmento (ver template completo em `template-documento.md`):
|
||||
- Demográfico: idade, género, localização, rendimento, educação, sector, cargo, empresa
|
||||
- Comportamental: rotina, hábitos, processo de decisão, critérios de escolha
|
||||
- Psicográfico: valores, aspirações, mentalidade, atitude à inovação
|
||||
- Jornada: awareness, consideração, decisão
|
||||
|
||||
### P10: Pain Points
|
||||
> Quais as dores mais urgentes e dolorosas?
|
||||
|
||||
- Dores principais (urgentes, que precisam resolver já)
|
||||
- Frustrações (já tentaram outras soluções sem resultado)
|
||||
- Necessidades não atendidas (o mercado não resolve bem)
|
||||
- Medos relacionados com a compra ou com não comprar
|
||||
|
||||
---
|
||||
|
||||
## Bloco C — Produto e serviço
|
||||
|
||||
### P11: Portfolio
|
||||
> O que vendemos exactamente?
|
||||
|
||||
- Lista de produtos/serviços principais
|
||||
- Características técnicas vs benefícios percebidos
|
||||
- Arquitectura de oferta: entrada, core, premium
|
||||
- Casos de uso reais (exemplos concretos de aplicação)
|
||||
|
||||
### P12: Preço e valor
|
||||
> Como justificamos o que cobramos?
|
||||
|
||||
- Estratégia de preços (custo+margem, valor percebido, concorrência, freemium)
|
||||
- Posicionamento de valor: acessível, médio-alto, premium, luxo
|
||||
- Política comercial: descontos, bundles, condições de pagamento
|
||||
- ROI estimado para o cliente (quanto ganha/poupa ao escolher-nos)
|
||||
|
||||
### P13: Processos críticos
|
||||
> Que processos garantem a experiência prometida?
|
||||
|
||||
- Processo de entrega do serviço/produto (passo a passo)
|
||||
- Pontos de controlo de qualidade
|
||||
- Garantias e políticas de satisfação
|
||||
- Gestão de reclamações
|
||||
|
||||
### P14: Parcerias estratégicas
|
||||
> Com quem nos aliamos para ampliar valor?
|
||||
|
||||
- Parceiros principais (nome, tipo, contribuição)
|
||||
- Tipos de parceria: distribuição, tecnologia, referência, co-marketing
|
||||
- Benefícios mútuos de cada parceria
|
||||
- Parcerias a desenvolver (gap de oportunidade)
|
||||
|
||||
### P15: Plataforma
|
||||
> Onde operamos digitalmente?
|
||||
|
||||
- Canais digitais activos: website, redes sociais, marketplaces, apps
|
||||
- Presença online actual vs ideal
|
||||
- Infraestrutura tecnológica (CRM, email, analytics, automação)
|
||||
- Prioridades de investimento digital
|
||||
|
||||
---
|
||||
|
||||
## Bloco D — Promoção e comunicação
|
||||
|
||||
### P16: Promoção
|
||||
> Como chegamos ao público-alvo?
|
||||
|
||||
- Canais principais com objectivos específicos por canal
|
||||
- Tácticas específicas (conteúdo, SEO, email, WhatsApp, eventos)
|
||||
- Calendário promocional (frequência, momentos-chave)
|
||||
- Budget orientativo por canal
|
||||
|
||||
### P17: Publicidade
|
||||
> Como amplificamos com investimento pago?
|
||||
|
||||
- Estratégia de anúncios: plataformas, formato, objectivo
|
||||
- Budget mensal e distribuição
|
||||
- KPIs de publicidade (CPL, ROAS, CPA)
|
||||
- Frequência e ciclo de renovação de criativos
|
||||
|
||||
### P18: PR e referências
|
||||
> Como construímos credibilidade externa?
|
||||
|
||||
- Estratégia de relações públicas
|
||||
- Parcerias com influenciadores (relevância > alcance)
|
||||
- Imprensa e media especializada
|
||||
- Programa de referências/embaixadores
|
||||
|
||||
### P19: Presença digital
|
||||
> Qual a nossa estratégia de conteúdo?
|
||||
|
||||
- Estratégia de conteúdo por canal
|
||||
- Frequência de publicação
|
||||
- Pilares de conteúdo (3-5 temas centrais)
|
||||
- Gestão de comunidade: resposta, engagement, moderação
|
||||
|
||||
### P20: Proximidade — narrativa e impacto
|
||||
> Que história contamos que ressoa emocionalmente?
|
||||
|
||||
- **Declaração de Impacto:** frase que resume a essência e impacto da marca
|
||||
- **Narrativa principal:** história de origem ou transformação
|
||||
- **Pain + Gain por segmento:** o que perdiam antes → o que ganham agora
|
||||
- **Mensagem central:** 1 frase que todos os colaboradores sabem de cor
|
||||
|
||||
*Nota: O "Bloco D" tem 5 Ps numerados de 16 a 20 — alguns documentos listam apenas 16 Ps no total (agrupando Promoção, Publicidade e PR num único P). Adaptar conforme o nível de detalhe necessário.*
|
||||
@@ -0,0 +1,127 @@
|
||||
# Metodologia ACIDA — Referência Completa
|
||||
|
||||
## 1. As 5 fases ACIDA
|
||||
|
||||
### A — Atrair atenção
|
||||
|
||||
O público está sobrecarregado de informação. A forma correcta de chamar a atenção não é destacar produtos — é conectar com o que emocionalmente mais interessa ao público: **as suas próprias dores e desejos**.
|
||||
|
||||
Acções práticas:
|
||||
- Headlines que falam directamente da dor ou desejo do segmento
|
||||
- Conteúdo que provoca reconhecimento imediato ("é exactamente o meu problema")
|
||||
- Formatos visuais que param o scroll: vídeo curto, imagem disruptiva, estatística chocante
|
||||
|
||||
### C — Construir confiança
|
||||
|
||||
Após conquistar atenção, estabelecer relacionamentos autênticos através de:
|
||||
- Transparência, honestidade e autenticidade na comunicação
|
||||
- Demonstrar compreensão profunda das dores e desejos do cliente
|
||||
- Partilhar conhecimento e experiência profissional abertamente
|
||||
- Educar o público para decisões mais informadas
|
||||
- Estabelecer autoridade que permite influenciar percepções
|
||||
|
||||
Formatos: artigos de blog, estudos de caso, testemunhos, webinars, guias gratuitos.
|
||||
|
||||
### I — Despertar interesse
|
||||
|
||||
Com confiança estabelecida, a comunicação torna-se altamente personalizada.
|
||||
> "Não vendemos produtos nem serviços; oferecemos soluções específicas para os seus desafios."
|
||||
|
||||
Ferramentas:
|
||||
- Rastreamento de interacções para identificar segmentos de clientes
|
||||
- Conteúdo customizado baseado em comportamentos anteriores
|
||||
- Resolução antecipada de objecções conhecidas
|
||||
- Nutrição de relacionamentos via email, WhatsApp, SMS, redes sociais
|
||||
|
||||
### D — Estimular a decisão
|
||||
|
||||
A decisão será favorável se o **valor percebido > preço a pagar**.
|
||||
|
||||
Obstáculos a superar:
|
||||
- O "muro invisível" criado por dúvidas do consumidor
|
||||
- Medo do arrependimento pós-compra
|
||||
- Necessidade de prova social e garantias sólidas
|
||||
|
||||
Ferramentas: comparações, garantias, testemunhos de clientes reais, demonstrações, ROI calculado.
|
||||
|
||||
### A — Incentivar a acção
|
||||
|
||||
Converter interesse em acção através de:
|
||||
- Chamadas à acção (CTA) claras e convincentes
|
||||
- Criação de sentido de urgência (real, não artificial)
|
||||
- Cumprimento de promessas
|
||||
- Superação de expectativas na experiência do cliente
|
||||
|
||||
---
|
||||
|
||||
## 2. Análise do público-alvo — 8 dimensões
|
||||
|
||||
Para cada segmento, investigar as 8 dimensões antes de escrever qualquer copy:
|
||||
|
||||
### Dimensão 1: Perfil demográfico e psicográfico
|
||||
- Características mensuráveis: idade, género, localização, rendimento, educação, cargo
|
||||
- Traços de personalidade: valores, crenças, atitudes, estilo de vida
|
||||
- *Pergunta-chave: "Quem é esta pessoa na vida real?"*
|
||||
|
||||
### Dimensão 2: Dores, desejos e frustrações
|
||||
- Dores activas: problemas que precisam resolver agora
|
||||
- Desejos: o que querem alcançar/ter/ser
|
||||
- Frustrações: o que já tentaram e não funcionou
|
||||
- *Pergunta-chave: "O que os mantém acordados à noite? O que sonham?"*
|
||||
|
||||
### Dimensão 3: Preocupações e geração de emoção
|
||||
- O que os preocupa a médio/longo prazo
|
||||
- Como a nossa marca pode responder emocionalmente (não apenas racionalmente)
|
||||
- *Pergunta-chave: "Que emoção queremos que sintam quando nos encontram?"*
|
||||
|
||||
### Dimensão 4: Medos, inimigos e mudanças
|
||||
- Medos concretos (perder negócio, ser enganado, falhar)
|
||||
- "Inimigos" percebidos (concorrentes, reguladores, tendências de mercado)
|
||||
- Mudanças que temem ou resistem
|
||||
- *Pergunta-chave: "O que os impede de agir?"*
|
||||
|
||||
### Dimensão 5: Anseios, interesses e linguagem
|
||||
- O que aspiram a ser/ter/fazer
|
||||
- Interesses e hobbies (pistas para onde comunicar)
|
||||
- Linguagem que usam (jargão do sector, palavras que ressoam vs que afastam)
|
||||
- *Pergunta-chave: "Como falam entre si? Que palavras usam?"*
|
||||
|
||||
### Dimensão 6: Pesquisa de informação e influenciadores
|
||||
- Onde procuram informação (Google, YouTube, LinkedIn, feiras, colegas)
|
||||
- A quem pedem conselho (influenciadores, peers, família)
|
||||
- Fontes que consideram credíveis
|
||||
- *Pergunta-chave: "Como encontraram a nossa categoria de produto/serviço?"*
|
||||
|
||||
### Dimensão 7: Dúvidas e perguntas
|
||||
- Objecções previsíveis antes da compra
|
||||
- Perguntas que fazem nas reuniões de vendas
|
||||
- Informação que precisam para decidir
|
||||
- *Pergunta-chave: "Quais as 5 objecções mais frequentes?"*
|
||||
|
||||
### Dimensão 8: Estilo de decisão e concorrentes
|
||||
- Processo de decisão: individual vs colectivo, rápido vs lento
|
||||
- Factores comparativos: preço, qualidade, confiança, referências
|
||||
- Concorrentes directos que avaliam em paralelo
|
||||
- *Pergunta-chave: "Com quem nos comparam? Por que nos escolhem ou não?"*
|
||||
|
||||
---
|
||||
|
||||
## 3. Pilares estratégicos ACIDA
|
||||
|
||||
- **Crença central:** o centro do marketing digital são os princípios fundamentais de marketing + website — não as redes sociais
|
||||
- **Proposta de valor:** "Criamos Resultados" — problema → solução → resultados esperados
|
||||
- **Website como hub central:** não repositório, mas centro operacional integrado com CRM
|
||||
- **Ecossistema multi-canal:** email, SMS/WhatsApp, SEO, Google/Meta Ads, website, redes sociais (como parte, não como centro)
|
||||
- **Melhoria contínua:** métricas objectivas → ciclo iterativo baseado em dados
|
||||
|
||||
---
|
||||
|
||||
## 4. ACIDA 2.0 — Fases operacionais
|
||||
|
||||
| Fase | Acções |
|
||||
|------|--------|
|
||||
| **1. Análise** | Segmentação público, posicionamento, estruturação oferta, montagem narrativa |
|
||||
| **2. Criação** | Recursos, copywriting e design, website e plataformas, automação |
|
||||
| **3. Implementação** | Conteúdos e canais, blog e email marketing, redes sociais, marketplaces |
|
||||
| **4. Desenvolvimento** | Funil de vendas, tráfego e anúncios, conteúdos, newsletters |
|
||||
| **5. Acompanhamento** | Gestão de resultados, métricas e KPIs, optimização contínua, suporte |
|
||||
@@ -0,0 +1,154 @@
|
||||
# Narrativas e Copywriting Estratégico
|
||||
|
||||
Templates e exemplos reais de narrativas Descomplicar®. Baseados nos projectos SFV, LJM, MCT e Espiral Senior.
|
||||
|
||||
---
|
||||
|
||||
## 1. Fórmula central: Dor → Solução → Resultado
|
||||
|
||||
Estrutura base para qualquer narrativa por segmento:
|
||||
|
||||
```
|
||||
DOR: [Nome do segmento] enfrenta [problema específico e urgente].
|
||||
Sem solução, [consequência negativa concreta].
|
||||
|
||||
SOLUÇÃO: [Nome da marca] resolve isto através de [mecanismo único].
|
||||
[Diferencial que os concorrentes não têm].
|
||||
|
||||
RESULTADO: O resultado é [benefício tangível e mensurável].
|
||||
[Prova social ou garantia que aumenta credibilidade].
|
||||
```
|
||||
|
||||
**Exemplo SFV (segmento Empresas):**
|
||||
> Dor: As PMEs enfrentam facturas de electricidade crescentes que consomem margens já apertadas.
|
||||
> Solução: A SFV instala painéis solares personalizados com análise de consumo prévia — sem adiantamento para projectos qualificados.
|
||||
> Resultado: Redução de 60-90% na factura eléctrica, com ROI em 4-7 anos e garantia de 25 anos nos painéis.
|
||||
|
||||
**Exemplo MCT (segmento Oficinas):**
|
||||
> Dor: Mecânicos perdem tempo e dinheiro com ferramentas que chegam erradas, incompletas ou que avariam em obra.
|
||||
> Solução: A Carritools fornece equipamento profissional com assessoria técnica presencial e substituição imediata em caso de avaria.
|
||||
> Resultado: Menos tempo parado, mais trabalhos concluídos, clientes mais satisfeitos.
|
||||
|
||||
---
|
||||
|
||||
## 2. Declaração de Impacto
|
||||
|
||||
Uma frase poderosa que abre o documento e resume a essência da marca. Deve:
|
||||
- Ser memorável (10-15 palavras máximo)
|
||||
- Combinar emoção + resultado
|
||||
- Não ser genérica ("líderes de mercado", "qualidade e inovação")
|
||||
|
||||
**Exemplos reais:**
|
||||
|
||||
| Cliente | Declaração de Impacto |
|
||||
|---------|----------------------|
|
||||
| SFV Solar | "Energia (quase) Grátis para Famílias e Empresas" |
|
||||
| Espiral Senior | "Envelhecer em Dignidade, no Lugar que Mais Ama" |
|
||||
| Descomplicar® | "Criamos Resultados!" |
|
||||
|
||||
**Fórmulas para gerar Declaração de Impacto:**
|
||||
- `[Verbo de transformação] + [benefício desejado] + [para quem]`
|
||||
- `[Adjectivo emocional] + [resultado concreto]`
|
||||
- `[Benefício surpreendente] + [para quem] + [sem o custo habitual]`
|
||||
|
||||
---
|
||||
|
||||
## 3. Mensagens-chave por tipo de segmento
|
||||
|
||||
### Segmento decisor (CEO/Gerente)
|
||||
Foco: ROI, risco reduzido, credibilidade, tempo poupado.
|
||||
|
||||
Template:
|
||||
> "Mais de [N] empresas como a sua já [resultado]. A nossa abordagem garante [benefício financeiro] em [prazo], com [garantia específica]."
|
||||
|
||||
### Segmento utilizador final (técnico/operacional)
|
||||
Foco: facilidade de uso, suporte, fiabilidade, não criar problemas.
|
||||
|
||||
Template:
|
||||
> "Simples de implementar, sem interrupções ao seu trabalho. Em caso de dúvida, temos suporte [detalhe] para que nunca fique bloqueado."
|
||||
|
||||
### Segmento referenciador (parceiro/consultor)
|
||||
Foco: credibilidade para recomendar, win-win, diferenciação para os seus clientes.
|
||||
|
||||
Template:
|
||||
> "Ao recomendar [marca], está a oferecer aos seus clientes [resultado], o que reforça a sua autoridade como [cargo/papel]."
|
||||
|
||||
### Segmento influenciador (família/comunidade)
|
||||
Foco: valores partilhados, impacto positivo, pertença.
|
||||
|
||||
Template:
|
||||
> "Não é só [produto/serviço]. É uma escolha que [impacto maior]: [dimensão ambiental/social/familiar]."
|
||||
|
||||
---
|
||||
|
||||
## 4. Gestão de objecções — estrutura padrão
|
||||
|
||||
Para cada objecção, responder sempre com:
|
||||
1. **Validar** — reconhecer que é uma preocupação legítima
|
||||
2. **Reframeamento** — mudar o ângulo de análise
|
||||
3. **Prova** — exemplo, dado ou testemunho que confirma
|
||||
4. **CTA suave** — próximo passo de baixo compromisso
|
||||
|
||||
**Objecções universais e respostas tipo:**
|
||||
|
||||
| Objecção | Resposta base |
|
||||
|----------|--------------|
|
||||
| "É caro" | "Entendo a preocupação. O nosso preço reflecte [diferencial]. Clientes como [X] recuperaram o investimento em [prazo]. Posso mostrar-lhe o cálculo?" |
|
||||
| "Preciso de pensar" | "Faz todo o sentido. O que precisa de esclarecer para se sentir confiante? Posso enviar [recurso específico] que costuma ajudar nesta fase." |
|
||||
| "Já tentei algo parecido e não funcionou" | "Compreendo — essa experiência é frustrante. O que tipicamente falha é [causa]. A nossa abordagem resolve isto de forma diferente: [diferencial]." |
|
||||
| "Não tenho tempo agora" | "Respeitamos o seu tempo. É por isso que o nosso processo começa com apenas [X horas], e tratamos nós de [trabalho pesado]." |
|
||||
| "Preciso de aprovação interna" | "Claro. Posso preparar um resumo executivo de 1 página para facilitar a aprovação? Tenho feito isto para outros clientes com muito bom resultado." |
|
||||
|
||||
---
|
||||
|
||||
## 5. Tom de voz por personalidade de marca
|
||||
|
||||
### Marca especialista/técnica (ex: SFV, Carritools)
|
||||
- Linguagem precisa, dados concretos, terminologia do sector
|
||||
- Evitar: exageros sem prova, linguagem emocional excessiva
|
||||
- Usar: casos reais, números, especificações, garantias técnicas
|
||||
|
||||
### Marca próxima/humana (ex: Espiral Senior, Loja da Maria)
|
||||
- Linguagem calorosa, inclusiva, em 2ª pessoa
|
||||
- Evitar: jargão técnico, distância corporativa
|
||||
- Usar: histórias pessoais, empatia directa, linguagem do dia-a-dia
|
||||
|
||||
### Marca inovadora/disruptiva (ex: Descomplicar, SaaS)
|
||||
- Linguagem energética, directa, com algum desafio ao status quo
|
||||
- Evitar: clichés do sector, promessas vazias
|
||||
- Usar: contraste antes/depois, resultados surpreendentes, "E se..."
|
||||
|
||||
---
|
||||
|
||||
## 6. Estrutura de testemunho ideal
|
||||
|
||||
Baseado nos testemunhos reais recolhidos nos projectos:
|
||||
|
||||
```
|
||||
[Nome próprio + cargo + empresa] — [cidade, se relevante]
|
||||
"[Frase de impacto espontânea que resume o resultado]"
|
||||
|
||||
Contexto: [Situação antes de contratar]
|
||||
Resultado: [Mudança concreta e mensurável após]
|
||||
Recomendação: [Indicação explícita para outros como ele]
|
||||
```
|
||||
|
||||
**Exemplo real SFV:**
|
||||
> "Ricardo Castelão, Director Financeiro, Empresa de Distribuição — Porto
|
||||
> 'Reduzimos a nossa factura eléctrica em 73% no primeiro ano.'
|
||||
> Contexto: Gastávamos 4.200 EUR/mês em electricidade, sem alternativa viável.
|
||||
> Resultado: Passámos para 1.134 EUR/mês. O sistema pagou-se em 5,5 anos.
|
||||
> Recomendação: Para qualquer empresa com consumo acima de 1.500 EUR/mês, é obrigatório analisar esta opção."
|
||||
|
||||
---
|
||||
|
||||
## 7. Headlines de alto impacto — padrões
|
||||
|
||||
Padrões que funcionam consistentemente nos projectos Descomplicar:
|
||||
|
||||
- **Resultado específico:** "Reduza a sua factura eléctrica em 70% sem investimento inicial"
|
||||
- **Pergunta dor:** "Ainda a pagar [problema] quando existe solução comprovada?"
|
||||
- **Autoridade + resultado:** "Como [N] empresas [resultado] com [solução]"
|
||||
- **Contrafactual:** "E se a sua maior despesa se transformasse no seu maior activo?"
|
||||
- **Urgência real:** "A [mudança de mercado/regulação] está a mudar tudo — [posição da marca]"
|
||||
- **Social proof:** "Mais de [N] clientes em [região] já [resultado]"
|
||||
@@ -0,0 +1,318 @@
|
||||
# Análise de Nichos — Guia de Segmentação Sectorial
|
||||
|
||||
Para marcas com público PME, "PME" é demasiado vasto. Identificar os nichos sectoriais específicos permite mensagens certeiras, canais certos e ROI superior. Qualquer estratégia de marca deve analisar **pelo menos 5 nichos específicos** relevantes para o produto/serviço.
|
||||
|
||||
---
|
||||
|
||||
## Como usar este guia
|
||||
|
||||
1. Identificar os nichos onde o produto/serviço tem tracção real ou potencial
|
||||
2. Para cada nicho seleccionado, preencher os 8 pontos de análise sectorial
|
||||
3. Cruzar com os 20 pontos da análise de público (template-documento.md § 5) para o perfil completo
|
||||
4. Priorizar os 3 nichos de maior potencial para messaging principal
|
||||
|
||||
---
|
||||
|
||||
## Os 8 pontos de análise por nicho
|
||||
|
||||
Para cada nicho, responder:
|
||||
|
||||
1. **Dimensão e contexto** — quantas empresas em PT/EU, crescimento do sector, maturidade digital
|
||||
2. **Dores operacionais específicas** — o que os cansa no dia-a-dia (não genérico: específico do sector)
|
||||
3. **Funcionalidades mais relevantes** — o que do produto resolve melhor o problema deste nicho
|
||||
4. **Linguagem de venda** — palavras que usam, palavras que evitam, jargão do sector
|
||||
5. **Canal de aquisição principal** — onde estão, como chegam ao produto
|
||||
6. **Objecção principal** — o bloqueio mais frequente e como ultrapassar
|
||||
7. **Trigger de compra** — o momento/evento que precipita a decisão
|
||||
8. **Pricing sweet spot** — o que pagam por ferramentas similares, sensibilidade ao preço
|
||||
|
||||
---
|
||||
|
||||
## Os 10 nichos de PME mais relevantes (PT/EU)
|
||||
|
||||
### Nicho 1 — Saúde Privada
|
||||
|
||||
**Quem:** Clínicas dentárias, psicólogos, nutricionistas, fisioterapeutas, clínicas médicas privadas, terapeutas.
|
||||
|
||||
**Dimensão PT:** +12.000 clínicas e consultórios privados. Sector em crescimento pós-pandemia. Alta concentração em Lisboa, Porto e litoral.
|
||||
|
||||
**Dores operacionais:**
|
||||
- Agenda manual ou em sistemas desactualizados (Doctoralia, papel)
|
||||
- Falhas de consulta (no-shows) sem sistema de lembretes automatizado
|
||||
- Secretaria sobrecarregada com marcações e confirmações por telefone
|
||||
- Facturação em saúde com complexidade fiscal (isenção IVA, recibos verdes)
|
||||
- RGPD em saúde: dados sensíveis com requisitos legais estritos
|
||||
|
||||
**Funcionalidades mais relevantes:** lembretes automáticos de consulta por WhatsApp/SMS, confirmação/cancelamento por WhatsApp, reagendamento automático, facturação PT com isenção IVA, base de conhecimento para FAQ de pacientes.
|
||||
|
||||
**Linguagem de venda:** "reduzir faltas à consulta", "libertar a secretária para o que importa", "pacientes confirmam pelo WhatsApp", "agenda sempre actualizada". Evitar: "automação", "IA", "bot".
|
||||
|
||||
**Canal de aquisição:** associações profissionais (OMD, Ordem dos Psicólogos), LinkedIn de gestores de clínica, referência entre profissionais de saúde, Google Ads ("software gestão clínica", "agenda online clínica").
|
||||
|
||||
**Objecção principal:** "Os meus pacientes são mais velhos e não usam WhatsApp." → Resposta: "O sistema funciona igualmente por SMS. E os cuidadores/filhos que marcam as consultas estão todos no WhatsApp."
|
||||
|
||||
**Trigger de compra:** crescimento de lista de espera que a secretária já não consegue gerir; terceira consulta cancelada sem aviso no mesmo mês.
|
||||
|
||||
**Pricing sweet spot:** €50-150/mês (referência: Doctoralia €80-200/mês).
|
||||
|
||||
---
|
||||
|
||||
### Nicho 2 — Imobiliárias e Mediação
|
||||
|
||||
**Quem:** Agências imobiliárias independentes, mediadores certificados (AMI), promotores imobiliários, gestoras de condomínios.
|
||||
|
||||
**Dimensão PT:** +5.000 agências com licença AMI activas. Mercado em alta, mas muito fragmentado. Alta dependência de WhatsApp para comunicação com compradores/vendedores.
|
||||
|
||||
**Dores operacionais:**
|
||||
- Leads entram por portais (Imovirtual, Idealista, OLX) e ficam sem resposta rápida
|
||||
- Gestão de visitas manual: telefonemas para confirmar, reagendar, cancelar
|
||||
- Follow-up de compradores perdido no WhatsApp pessoal do agente
|
||||
- Quando o agente sai, leva os contactos consigo
|
||||
- Proposta/minuta demoram dias
|
||||
|
||||
**Funcionalidades mais relevantes:** resposta automática a leads de portais, qualificação de leads por WhatsApp, agendamento de visitas com confirmação automática, CRM com histórico centralizado (não no telemóvel do agente), geração de propostas.
|
||||
|
||||
**Linguagem de venda:** "nunca perde um lead do Idealista", "as visitas confirmam-se sozinhas", "quando o agente sai, o cliente fica na empresa", "responde ao lead em 2 minutos, a qualquer hora".
|
||||
|
||||
**Canal de aquisição:** associações (APEMIP, ASIP), LinkedIn de directores de agência, eventos do sector imobiliário, Google Ads ("CRM imobiliário Portugal", "software mediação imobiliária").
|
||||
|
||||
**Objecção principal:** "Já usamos o CRM do Idealista." → Resposta: "O CRM do portal gere os leads do portal. O AcidaOS centraliza todos os portais + WhatsApp + email num só sítio, com o histórico completo de cada cliente."
|
||||
|
||||
**Trigger de compra:** perda de uma venda grande por demora na resposta ao lead; saída de um agente que levou a carteira de clientes.
|
||||
|
||||
**Pricing sweet spot:** €80-200/mês (referência: Salesforce RE €150-300/mês, CRMs sectoriais €50-150/mês).
|
||||
|
||||
---
|
||||
|
||||
### Nicho 3 — Construção e Remodelação
|
||||
|
||||
**Quem:** Empreiteiros de construção civil, empresas de remodelação e acabamentos, serralheiros, carpinteiros, canalizadores com equipa, empresas de pintura.
|
||||
|
||||
**Dimensão PT:** sector fortíssimo — construção representa ~7% do PIB PT. Altamente fragmentado, maioria micro-empresas 1-20 pessoas. Baixa digitalização. Alta dependência de telefonema e referência.
|
||||
|
||||
**Dores operacionais:**
|
||||
- Orçamentos demoram dias ou semanas a chegar ao cliente
|
||||
- Clientes ligam 5 vezes para saber se o orçamento chegou
|
||||
- Gestão de obras espalhada por papel, WhatsApp e memória do encarregado
|
||||
- Facturação atrasada em relação ao trabalho realizado (meses de delay)
|
||||
- Cobranças de pagamentos em atraso constrangem a relação com o cliente
|
||||
|
||||
**Funcionalidades mais relevantes:** geração de orçamentos, follow-up automático ("o seu orçamento foi enviado — alguma dúvida?"), facturação automática por fase de obra, lembretes de pagamento, agenda de obras com alertas de prazo.
|
||||
|
||||
**Linguagem de venda:** "orçamento pronto em horas, não dias", "o cliente sabe sempre o estado da obra", "recebe quando acaba, não quando se lembra". Evitar linguagem tech — falar em "tempo poupado" e "dinheiro recebido".
|
||||
|
||||
**Canal de aquisição:** referência entre empresários do sector, associações (AICCOPN, AECOPS), Facebook Groups de empreiteiros e remodelações, feiras de construção.
|
||||
|
||||
**Objecção principal:** "A minha secretária já faz isso." → Resposta: "E quando ela está de férias? O AcidaOS não vai de férias."
|
||||
|
||||
**Trigger de compra:** perda de um contrato por orçamento que chegou tarde; mês com 3 facturas por emitir de obras já concluídas.
|
||||
|
||||
**Pricing sweet spot:** €30-80/mês (sector muito sensível ao preço, mas disposto a pagar se ROI for claro e imediato).
|
||||
|
||||
---
|
||||
|
||||
### Nicho 4 — Agências Digitais e Criativas
|
||||
|
||||
**Quem:** Agências de marketing digital, design, comunicação, relações públicas, fotografia/vídeo, produção de conteúdo.
|
||||
|
||||
**Dimensão PT:** +3.500 agências activas. Sector muito competitivo, margens a comprimir. Muitas em transição de "serviços de execução" para "serviços de estratégia + produto".
|
||||
|
||||
**Dores operacionais:**
|
||||
- Relatórios mensais para clientes consomem 2-3 dias de trabalho manual
|
||||
- Gestão de aprovações de conteúdo por WhatsApp e email (versões perdidas)
|
||||
- Timesheets manuais → facturação imprecisa → conflitos com clientes
|
||||
- Escalabilidade travada: para crescer precisa de contratar
|
||||
- Receita 100% baseada em horas → vulnerável a perdas de cliente
|
||||
|
||||
**Funcionalidades mais relevantes:** geração automática de relatórios mensais, portal do cliente com aprovação de conteúdos, registo automático de horas, facturação por projecto, upsell/cross-sell automatizado (ex: "o teu plano inclui X — quer adicionar Y?").
|
||||
|
||||
**Linguagem de venda:** "relatórios que se fazem sozinhos", "o cliente aprova no portal, não por email", "receita recorrente sem aumentar a equipa", "white-label para revender aos teus clientes".
|
||||
|
||||
**Canal de aquisição:** LinkedIn (muito activo neste nicho), eventos de marketing (RD Summit, Social Media Week), comunidades Slack de marketers, referência entre agências.
|
||||
|
||||
**Objecção principal:** "Já usamos Monday/Asana/Notion." → Resposta: "O AcidaOS integra com essas ferramentas. Mas adiciona a camada de IA que automatiza o que ainda fazem manualmente: relatórios, aprovações, facturação."
|
||||
|
||||
**Trigger de compra:** perda de 20% da margem num trimestre por horas não facturadas; cliente grande que pediu relatórios mais frequentes sem pagar mais.
|
||||
|
||||
**Pricing sweet spot:** €100-300/mês; alto potencial para plano Partner/white-label (€500-1.000/mês).
|
||||
|
||||
---
|
||||
|
||||
### Nicho 5 — Comércio B2B e Distribuição
|
||||
|
||||
**Quem:** Distribuidores, grossistas, representantes comerciais, importadores, empresas de venda a retalhistas.
|
||||
|
||||
**Dimensão PT:** sector fundamental da economia, muito diversificado. Ciclos de venda mais longos, pedidos recorrentes, relacionamento comercial crítico.
|
||||
|
||||
**Dores operacionais:**
|
||||
- Pedidos chegam por WhatsApp, email e telefone — sem registo centralizado
|
||||
- Catálogo de produtos actualizado só existe em Excel ou PDF
|
||||
- Comerciais perdem tempo a dar preços e a verificar stock pelo telefone
|
||||
- Dívidas de clientes descobertas tarde (só quando o contabilista avisa)
|
||||
- Fidelização: o cliente vai ao concorrente se não for contactado regularmente
|
||||
|
||||
**Funcionalidades mais relevantes:** chatbot de catálogo e preços por WhatsApp, processamento de pedidos automático, alertas de pagamentos em atraso, follow-up automático de clientes inativos ("não nos pede há 30 dias — tudo bem?"), facturação automática por encomenda.
|
||||
|
||||
**Linguagem de venda:** "o cliente pede pelo WhatsApp e a factura sai automática", "nunca perde uma encomenda por estar em reunião", "sabe quem não lhe compra há um mês antes de o perder".
|
||||
|
||||
**Canal de aquisição:** associações sectoriais, feiras B2B, LinkedIn de directores comerciais, referência entre distribuidores.
|
||||
|
||||
**Objecção principal:** "Os meus clientes são empresas — preferem email formal." → Resposta: "O sistema funciona por email também. E o WhatsApp para os urgentes — que são 80% dos pedidos reais."
|
||||
|
||||
**Trigger de compra:** perda de cliente para concorrente por resposta mais rápida; mês com facturas em atraso acima de €10K.
|
||||
|
||||
**Pricing sweet spot:** €100-250/mês (dispostos a pagar pelo ROI directo em cobranças e pedidos capturados).
|
||||
|
||||
---
|
||||
|
||||
### Nicho 6 — Restauração e Hotelaria
|
||||
|
||||
**Quem:** Restaurantes, cafés, bares, hotéis boutique, alojamentos locais, serviços de catering, espaços de eventos.
|
||||
|
||||
**Dimensão PT:** +80.000 estabelecimentos de restauração. Sector de margens apertadas, alta rotatividade de staff, sazonalidade intensa.
|
||||
|
||||
**Dores operacionais:**
|
||||
- Reservas por telefone interrompem o serviço → perdidas quando está cheio
|
||||
- Grupos e eventos corporativos: orçamentação manual e demorada
|
||||
- Gestão de feedback online (Google, Tripadvisor) sem resposta sistemática
|
||||
- Campanhas de WhatsApp para promoções especiais feitas manualmente
|
||||
- Alojamento local: check-in remoto, comunicação com hóspedes em múltiplas línguas
|
||||
|
||||
**Funcionalidades mais relevantes:** reservas e confirmações por WhatsApp, resposta automática a reviews Google, campanhas de promoções ("mesa disponível para amanhã?"), comunicação com hóspedes em PT/EN/ES automática, facturação de eventos.
|
||||
|
||||
**Linguagem de venda:** "mesa reservada e confirmada sem tirar o empregado do serviço", "campanhas de promoção para a base de clientes em 2 minutos", "hóspedes atendidos em qualquer língua, a qualquer hora".
|
||||
|
||||
**Canal de aquisição:** associações (AHRESP, ARESP), feiras do sector (Horexpo, BTL), Instagram/Facebook de restaurateurs, referência entre proprietários.
|
||||
|
||||
**Objecção principal:** "O meu cliente quer falar com uma pessoa." → Resposta: "O sistema trata das confirmações de rotina. Quando o cliente quer falar com alguém, o sistema escala — e o teu staff tem mais tempo para isso."
|
||||
|
||||
**Trigger de compra:** mesa dupla marcada no mesmo horário; alta temporada com reservas a escapar por não conseguir atender o telefone.
|
||||
|
||||
**Pricing sweet spot:** €30-80/mês (margens apertadas — proposta tem de ser de ROI imediato e muito claro).
|
||||
|
||||
---
|
||||
|
||||
### Nicho 7 — Contabilidade e Consultoria
|
||||
|
||||
**Quem:** Gabinetes de contabilidade, TOCs (Técnicos Oficiais de Contas), escritórios de advogados, consultores de gestão, solicitadores.
|
||||
|
||||
**Dimensão PT:** +8.000 gabinetes de contabilidade registados. Sector muito regulado, conservador, mas sob pressão de digitalização e de novas exigências da AT.
|
||||
|
||||
**Dores operacionais:**
|
||||
- Clientes entregam documentação de forma caótica (papel, foto de WhatsApp, email)
|
||||
- Prazos fiscais críticos (IRS, IRC, IVA, SS) gerem-se manualmente com risco de multa
|
||||
- Comunicação de alertas a clientes por email → baixa taxa de abertura
|
||||
- Facturação de honorários por horas não registadas sistematicamente
|
||||
- Novos clientes: onboarding burocrático e demorado
|
||||
|
||||
**Funcionalidades mais relevantes:** portal de recolha de documentos do cliente, alertas de prazos fiscais automáticos por WhatsApp, registo automático de horas, facturação mensal, onboarding digital de clientes.
|
||||
|
||||
**Linguagem de venda:** "o cliente entrega os documentos pelo WhatsApp e chegam organizados", "o cliente recebe o alerta de IVA no dia certo, não quando já passou", "sem ligar 5 vezes para pedir o recibo". Evitar: "IA", "automação" — usar "sistema", "organização", "processo".
|
||||
|
||||
**Canal de aquisição:** Ordem dos Contabilistas Certificados, formações profissionais obrigatórias, referência entre TOCs, LinkedIn de gestores de gabinetes.
|
||||
|
||||
**Objecção principal:** "Os nossos clientes são conservadores e resistem a mudanças." → Resposta: "O cliente não vê nenhuma mudança — continua a mandar fotos para o WhatsApp. Só que chegam organizadas ao sistema em vez de à caixa de entrada da Ana."
|
||||
|
||||
**Trigger de compra:** multa de cliente por prazo fiscal falhado por comunicação deficiente; novo quadro legal que aumenta o volume de entregas obrigatórias.
|
||||
|
||||
**Pricing sweet spot:** €50-150/mês (sector conservador no pricing mas com ROI muito mensurável em tempo poupado).
|
||||
|
||||
---
|
||||
|
||||
### Nicho 8 — E-commerce e Retalho Online
|
||||
|
||||
**Quem:** Lojas online, marcas DTC (direct-to-consumer), revendedores em marketplace (Amazon PT, FNAC, Worten), lojas omnicanal (físico + online).
|
||||
|
||||
**Dimensão PT:** +25.000 lojas online activas. Crescimento acelerado mas altíssima competição e margens em queda.
|
||||
|
||||
**Dores operacionais:**
|
||||
- Volume de mensagens de suporte pós-venda (estado da encomenda, devoluções) insustentável
|
||||
- Carrinhos abandonados sem follow-up automático → receita perdida
|
||||
- Campanhas de reactivação de clientes inativos feitas manualmente
|
||||
- Devoluções: processo manual, email interminável, cliente frustrado
|
||||
- Avaliações negativas sem resposta → impacto na conversão
|
||||
|
||||
**Funcionalidades mais relevantes:** suporte automático de "onde está a minha encomenda" por WhatsApp, follow-up de carrinho abandonado, campanha de reactivação de clientes inativos, gestão de devoluções automatizada, resposta a reviews.
|
||||
|
||||
**Linguagem de venda:** "responde a 80% das perguntas de suporte sem intervenção humana", "recupera 15% dos carrinhos abandonados com um WhatsApp certo", "o cliente fica satisfeito sem precisar de esperar por email".
|
||||
|
||||
**Canal de aquisição:** comunidades de e-commerce (Shopify PT Facebook Group, grupos LinkedIn de e-commerce), eventos (eCommerce Day, NOS Alive), agências de e-commerce como parceiros.
|
||||
|
||||
**Objecção principal:** "Já usamos o suporte do Shopify." → Resposta: "O suporte do Shopify trata do que está dentro da plataforma. O AcidaOS trata do WhatsApp, do email e das mensagens do Instagram — que é de onde vêm 70% das perguntas reais."
|
||||
|
||||
**Trigger de compra:** Black Friday com volume de suporte 5x superior ao habitual sem equipa para responder; mês com carrinho abandonado acima de 70% sem follow-up.
|
||||
|
||||
**Pricing sweet spot:** €69-149/mês (familiarizados com SaaS, comparam com Gorgias €10-150/mês, Tidio €29-100/mês).
|
||||
|
||||
---
|
||||
|
||||
### Nicho 9 — Educação e Formação
|
||||
|
||||
**Quem:** Centros de formação profissional, explicadores e centros de explicações, escolas de línguas, escolas de música/artes, coaches e mentores, plataformas de formação online.
|
||||
|
||||
**Dimensão PT:** sector em expansão acelerada. Formação profissional fortemente subsidiada (FSE/IEFP) com requisitos administrativos pesados.
|
||||
|
||||
**Dores operacionais:**
|
||||
- Matrículas e inscrições por telefone e email — processo manual e demorado
|
||||
- Comunicação com pais (no caso de menores) caótica e dispersa
|
||||
- Cobranças de mensalidades em atraso constrangem a relação com o aluno/família
|
||||
- Certificados e documentação de formação gerados manualmente
|
||||
- Formação subsidiada: relatórios e documentação obrigatória para financiamento
|
||||
|
||||
**Funcionalidades mais relevantes:** inscrições online com confirmação automática, comunicação com pais por WhatsApp, cobranças automáticas com link de pagamento (MB Way), geração de certificados, relatórios de frequência.
|
||||
|
||||
**Linguagem de venda:** "os pais recebem updates do filho pelo WhatsApp, sem ligar para a recepção", "as inscrições chegam organizadas, não por telefone", "as mensalidades cobram-se sozinhas no dia certo".
|
||||
|
||||
**Canal de aquisição:** DGERT (entidade reguladora de formação), LinkedIn de directores pedagógicos, grupos Facebook de formadores, referência entre centros.
|
||||
|
||||
**Objecção principal:** "Temos sistema de gestão escolar." → Resposta: "O AcidaOS complementa — trata da comunicação e cobranças que o sistema escolar não faz."
|
||||
|
||||
**Trigger de compra:** período de matrículas com recepção sobrecarregada; mensalidade em atraso de mais de 3 meses por falta de follow-up.
|
||||
|
||||
**Pricing sweet spot:** €50-120/mês (sensíveis ao preço mas com ROI claro em cobranças recuperadas).
|
||||
|
||||
---
|
||||
|
||||
### Nicho 10 — Serviços Técnicos Especializados
|
||||
|
||||
**Quem:** Empresas de IT/informática, AVAC, electricistas com empresa, empresas de segurança e alarmes, canalizadores, empresas de manutenção de equipamentos.
|
||||
|
||||
**Dimensão PT:** dezenas de milhares de micro e pequenas empresas. Alta dependência de WhatsApp para comunicar com técnicos e clientes. Muito fragmentado.
|
||||
|
||||
**Dores operacionais:**
|
||||
- Chamadas de avaria chegam fora de horas sem registo
|
||||
- Orçamentos de intervenções demoram dias (técnico tem de ver primeiro)
|
||||
- Scheduling de técnicos manual — conflitos de agenda e deslocações ineficientes
|
||||
- Contrato de manutenção: clientes que deviam contactar para revisão e não contactam
|
||||
- Relatório de intervenção escrito à mão ou por memória do técnico
|
||||
|
||||
**Funcionalidades mais relevantes:** triagem automática de avarias fora de horas (gravidade, urgência), agendamento de técnicos por disponibilidade, geração de relatório de intervenção por voz (técnico descreve verbalmente → relatório gerado), alertas de manutenção preventiva, facturação de serviço.
|
||||
|
||||
**Linguagem de venda:** "o técnico descreve o trabalho pelo WhatsApp e o relatório fica pronto", "as chamadas de avaria fora de horas ficam registadas e triadas", "o cliente de manutenção recebe o alerta de revisão no mês certo".
|
||||
|
||||
**Canal de aquisição:** associações sectoriais (ANEOP, ASIAM), LinkedIn de gestores de empresa técnica, grupos Facebook de técnicos, referência entre pares.
|
||||
|
||||
**Objecção principal:** "Os meus técnicos não usam computador." → Resposta: "Exactamente por isso — o AcidaOS funciona pelo WhatsApp que eles já usam. O relatório faz-se com uma nota de voz."
|
||||
|
||||
**Trigger de compra:** chamada de avaria urgente perdida fora de horas; técnico que sai e leva o registo das intervenções que fez.
|
||||
|
||||
**Pricing sweet spot:** €40-100/mês (dispostos a pagar pelo valor em tempo poupado e em trabalho não perdido).
|
||||
|
||||
---
|
||||
|
||||
## Tabela resumo — priorização por atractividade
|
||||
|
||||
| Nicho | Volume PT | Urgência da dor | Disposição a pagar | Canal de entrada | Score |
|
||||
|-------|-----------|----------------|-------------------|-----------------|-------|
|
||||
| Saúde Privada | Alta | Muito alta | Alta | Associações + Google | ⭐⭐⭐⭐⭐ |
|
||||
| Imobiliárias | Média | Alta | Alta | LinkedIn + portais | ⭐⭐⭐⭐⭐ |
|
||||
| Agências Digitais | Média | Alta | Muito alta | LinkedIn + eventos | ⭐⭐⭐⭐⭐ |
|
||||
| E-commerce | Alta | Alta | Alta | Comunidades + parceiros | ⭐⭐⭐⭐ |
|
||||
| Contabilidade | Alta | Média-alta | Média | Ordem OCC + formação | ⭐⭐⭐⭐ |
|
||||
| Construção | Muito alta | Alta | Média | Referência + associações | ⭐⭐⭐⭐ |
|
||||
| Comércio B2B | Alta | Alta | Média-alta | Feiras + LinkedIn | ⭐⭐⭐⭐ |
|
||||
| Serviços Técnicos | Muito alta | Média | Média | Referência + grupos | ⭐⭐⭐ |
|
||||
| Educação | Média | Média | Baixa-média | DGERT + referência | ⭐⭐⭐ |
|
||||
| Restauração | Muito alta | Média | Baixa | AHRESP + Instagram | ⭐⭐⭐ |
|
||||
|
||||
**Top 3 para arranque:** Saúde Privada, Imobiliárias, Agências Digitais — dor alta, disposição a pagar alta, canais de entrada claros.
|
||||
@@ -0,0 +1,113 @@
|
||||
# Perguntas de Briefing — Entrevista Estratégica
|
||||
|
||||
Guia de entrevista estruturado para conduzir o briefing inicial com o cliente.
|
||||
Adaptar ao sector e nível de maturidade da marca.
|
||||
|
||||
---
|
||||
|
||||
## Bloco 1 — O negócio
|
||||
|
||||
### Contexto actual
|
||||
1. O que faz a sua empresa, em termos simples?
|
||||
2. Há quantos anos está no mercado? Como surgiu?
|
||||
3. Qual a dimensão actual: equipa, facturação, clientes?
|
||||
4. Qual é o maior desafio que enfrenta hoje no negócio?
|
||||
5. O que o distingue dos concorrentes? (resposta espontânea — não sugerir)
|
||||
|
||||
### Serviços e produtos
|
||||
6. Quais são os seus produtos/serviços principais?
|
||||
7. Qual gera mais receita? Qual tem mais potencial?
|
||||
8. Existe algum produto que quer destacar mais? Porquê?
|
||||
9. Que resultados concretos entregam aos clientes?
|
||||
|
||||
### Posicionamento actual
|
||||
10. Se pedisse a um cliente para descrever a sua empresa em 3 palavras, o que diria?
|
||||
11. Existe uma percepção de mercado que quer mudar?
|
||||
12. Onde se posiciona em preço vs concorrência? (mais caro, igual, mais barato) Porquê?
|
||||
|
||||
---
|
||||
|
||||
## Bloco 2 — O cliente ideal
|
||||
|
||||
### Segmentação
|
||||
13. Quem é o seu cliente ideal? Descreva-o em detalhe.
|
||||
14. Tem mais do que um tipo de cliente? Como os diferencia?
|
||||
15. Qual o cliente que mais valoriza o que fazem e paga melhor?
|
||||
16. Existe algum cliente que não quer ter? Porquê?
|
||||
|
||||
### Comportamento de compra
|
||||
17. Como é que os clientes chegam até si? (canal principal de aquisição)
|
||||
18. Quanto tempo demora tipicamente desde o primeiro contacto até fechar negócio?
|
||||
19. Quem toma a decisão de compra? É uma pessoa ou um grupo?
|
||||
20. Que objecções ouve mais frequentemente antes de fechar?
|
||||
|
||||
### Relação com clientes
|
||||
21. Qual foi o feedback mais positivo que recebeu de um cliente? (pedir citação exacta)
|
||||
22. Qual foi a queixa mais comum? Como resolveram?
|
||||
23. Tem clientes que recomendam espontaneamente? O que dizem?
|
||||
|
||||
---
|
||||
|
||||
## Bloco 3 — Mercado e concorrência
|
||||
|
||||
### Mercado
|
||||
24. Em que mercado opera? Geográfico (local, nacional, internacional)?
|
||||
25. O mercado está a crescer, estável ou a contrair?
|
||||
26. Que tendência do mercado mais o preocupa? Qual mais o entusiasma?
|
||||
27. Existe sazonalidade? Em que períodos?
|
||||
|
||||
### Concorrência
|
||||
28. Quem são os 3 principais concorrentes?
|
||||
29. Em que é que são melhores? Em que é que são piores?
|
||||
30. Por que é que um cliente nos escolhe a nós vs ao concorrente X?
|
||||
31. Existe algum concorrente que admira (mesmo que de outra área)?
|
||||
|
||||
---
|
||||
|
||||
## Bloco 4 — Visão e ambição
|
||||
|
||||
### Onde quer chegar
|
||||
32. Qual é o objectivo da empresa a 3 anos?
|
||||
33. O que precisa de mudar para chegar lá?
|
||||
34. Existe um modelo de empresa que admira ou quer imitar? Porquê?
|
||||
35. Se tivesse recursos ilimitados, o que faria primeiro?
|
||||
|
||||
### Marca e identidade
|
||||
36. Que 3 adjectivos descrevem a personalidade ideal da marca?
|
||||
37. Que marcas (de qualquer sector) admira pela comunicação? O que lhes agrada?
|
||||
38. Existe uma história de origem da empresa que emociona? (fundador, momento de viragem)
|
||||
39. Que valores são inegociáveis? O que nunca fariam por dinheiro?
|
||||
|
||||
### Tom de voz
|
||||
40. A marca é mais formal ou informal? Mais técnica ou acessível?
|
||||
41. Usa humor na comunicação? Em que contextos?
|
||||
42. Existe linguagem/palavras que NÃO deve usar?
|
||||
|
||||
---
|
||||
|
||||
## Bloco 5 — Recursos e restrições
|
||||
|
||||
### Capacidade
|
||||
43. Qual o budget mensal disponível para marketing?
|
||||
44. Existe equipa interna de marketing ou será tudo externalizado?
|
||||
45. Quem aprova conteúdos? Qual o processo de revisão?
|
||||
|
||||
### Prazo
|
||||
46. Existe algum lançamento, evento ou data importante a curto prazo?
|
||||
47. Quando precisa de ter a estratégia operacional?
|
||||
|
||||
### Material existente
|
||||
48. Existe alguma estratégia anterior? O que funcionou? O que não funcionou?
|
||||
49. Que activos existem: website, redes sociais, base de emails, testemunhos, cases?
|
||||
50. Existem fotos/vídeos profissionais? Em que estado está a identidade visual?
|
||||
|
||||
---
|
||||
|
||||
## Notas de condução da entrevista
|
||||
|
||||
- Fazer max 15-20 perguntas numa sessão (60-90 min)
|
||||
- Priorizar: Blocos 1, 2 e 4 na primeira sessão
|
||||
- Blocos 3 e 5 podem ser preenchidos com pesquisa independente
|
||||
- Pedir sempre exemplos concretos e citações textuais de clientes
|
||||
- Quando a resposta é vaga, fazer "pode dar-me um exemplo específico?"
|
||||
- Gravar a sessão (com autorização) para não perder citações úteis
|
||||
@@ -0,0 +1,374 @@
|
||||
# Template: Documento de Estratégia de Marca
|
||||
|
||||
Estrutura completa do documento entregável ao cliente. Baseado nos projectos SFV, LJM, MCT, Espiral Senior e Sintricare.
|
||||
Adaptar secções ao sector e complexidade do cliente.
|
||||
|
||||
---
|
||||
|
||||
## Cabeçalho do documento
|
||||
|
||||
```
|
||||
---
|
||||
title: [Nome da Marca] — Estratégia de Marca
|
||||
cliente: [Nome do cliente]
|
||||
código: EST-MRK-010
|
||||
versão: 1.0
|
||||
data: [DD-MM-YYYY]
|
||||
elaborado: Descomplicar® — Agência de Aceleração Digital
|
||||
status: draft | aprovado
|
||||
---
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## DECLARAÇÃO DE IMPACTO
|
||||
|
||||
> **[Uma frase poderosa — 10-15 palavras máximo]**
|
||||
> *A essência e o impacto da marca numa linha.*
|
||||
|
||||
---
|
||||
|
||||
## ÍNDICE
|
||||
|
||||
1. Apresentação e Fundamentos Estratégicos
|
||||
2. Proposta de Valor Única
|
||||
3. Missão, Visão, Valores e Objectivos
|
||||
4. Apresentação Sumária da Empresa e Serviços
|
||||
5. Segmentação e Análise Detalhada de Público
|
||||
6. Pitch Canvas
|
||||
7. Copywriting Estratégico
|
||||
8. Estratégia de Comunicação e Canais
|
||||
9. Investimentos Prioritários
|
||||
10. Monitorização e KPIs
|
||||
11. Inventário de Activos de Marketing
|
||||
|
||||
---
|
||||
|
||||
## 1. Apresentação e Fundamentos Estratégicos
|
||||
|
||||
### 1.1 Contexto actual
|
||||
- **Mercado:** [Análise do mercado actual — dimensão, tendências, oportunidades]
|
||||
- **Concorrência:** [Principais concorrentes e posições]
|
||||
- **Desafios:** [Principais desafios enfrentados pela marca]
|
||||
- **Oportunidades:** [Oportunidades identificadas]
|
||||
|
||||
### 1.2 Problema a resolver
|
||||
[Identificação clara do problema de negócio que esta estratégia precisa resolver — qual é o problema central que impede o crescimento ou o impacto da marca?]
|
||||
|
||||
---
|
||||
|
||||
## 2. Proposta de Valor Única
|
||||
|
||||
### 2.1 O que nos torna únicos
|
||||
[O que tornamos possível que os concorrentes não conseguem. Ser específico — evitar "qualidade e experiência".]
|
||||
|
||||
### 2.2 Diferenciais competitivos
|
||||
1. [Diferencial 1 — explicar o mecanismo único que o cria]
|
||||
2. [Diferencial 2]
|
||||
3. [Diferencial 3]
|
||||
|
||||
### 2.3 Benefícios por camada
|
||||
| Tipo | Benefícios |
|
||||
|------|-----------|
|
||||
| **Funcionais** | [O que o produto/serviço faz concretamente] |
|
||||
| **Emocionais** | [Como o cliente se sente ao usar/contratar] |
|
||||
| **Identitários** | [O que diz sobre o cliente escolher esta marca] |
|
||||
|
||||
---
|
||||
|
||||
## 3. Missão, Visão, Valores e Objectivos
|
||||
|
||||
### 3.1 Missão
|
||||
> [O que fazemos, para quem e como — acção no presente. Max 2 frases.]
|
||||
|
||||
### 3.2 Visão
|
||||
> [Onde queremos estar e que impacto queremos ter em 3-5 anos. Max 2 frases.]
|
||||
|
||||
### 3.3 Valores
|
||||
- **[Valor 1]** — [Como se manifesta na prática, no dia-a-dia da empresa]
|
||||
- **[Valor 2]** — [Como se manifesta]
|
||||
- **[Valor 3]** — [Como se manifesta]
|
||||
- **[Valor 4]** — [Como se manifesta] *(opcional)*
|
||||
|
||||
### 3.4 Objectivos estratégicos
|
||||
- **Curto prazo (6m):** [2-3 objectivos mensuráveis]
|
||||
- **Médio prazo (1 ano):** [2-3 objectivos]
|
||||
- **Longo prazo (3 anos):** [Ambição de impacto]
|
||||
|
||||
---
|
||||
|
||||
## 4. Apresentação Sumária da Empresa e Serviços
|
||||
|
||||
### 4.1 Quem somos
|
||||
[Parágrafo de apresentação — quem são, o que fazem, há quanto tempo, dimensão, missão em acção]
|
||||
|
||||
### 4.2 Serviços/Produtos principais
|
||||
|
||||
| Serviço/Produto | Descrição | Para quem | Resultado principal |
|
||||
|----------------|-----------|-----------|-------------------|
|
||||
| [Nome] | — | — | — |
|
||||
| [Nome] | — | — | — |
|
||||
|
||||
### 4.3 Posicionamento
|
||||
[Declaração de posicionamento — o lugar único que a marca ocupa na mente do cliente]
|
||||
|
||||
> "Para [público], somos a única [categoria] que [benefício único] porque [prova]."
|
||||
|
||||
---
|
||||
|
||||
## 5. Segmentação e Análise Detalhada de Público
|
||||
|
||||
*Repetir a estrutura completa dos 20 pontos para cada segmento identificado.*
|
||||
|
||||
---
|
||||
|
||||
### 5.X — [Nome do Segmento]
|
||||
|
||||
*[Breve descrição de quem é este segmento — 2 linhas]*
|
||||
|
||||
#### 1. Perfil Demográfico
|
||||
[Idade, género, localização, rendimento, nível de educação, profissão, cargo, tipo/dimensão de empresa, estado civil, composição familiar — tudo o que é mensurável e verificável]
|
||||
|
||||
#### 2. Perfil Psicográfico
|
||||
[Valores pessoais, crenças, atitude perante a vida, estilo de vida, motivações profundas, relação com a categoria de produto/serviço, identidade social — o que não se mede mas define quem são]
|
||||
|
||||
#### 3. Dores
|
||||
[Problemas activos e urgentes que precisam resolver. O que os está a prejudicar agora. Dores específicas do dia-a-dia relacionadas com o que a marca resolve.]
|
||||
|
||||
#### 4. Anseios
|
||||
[O que aspiram a ser, ter ou alcançar. Sonhos profissionais e pessoais. A versão ideal do futuro que imaginam.]
|
||||
|
||||
#### 5. Desejos
|
||||
[O que querem concretamente — mais imediato e específico que os anseios. Desejos práticos relacionados com a nossa oferta.]
|
||||
|
||||
#### 6. Frustrações
|
||||
[O que já tentaram fazer ou comprar sem resultado. Soluções que prometeram e não entregaram. O cansaço acumulado de não resolver o problema.]
|
||||
|
||||
#### 7. Preocupações
|
||||
[O que os inquieta a médio/longo prazo. Cenários negativos que imaginam. Preocupações sistémicas relacionadas com a sua vida ou negócio.]
|
||||
|
||||
#### 8. Medos
|
||||
[Medos concretos associados à compra ou à não-compra. Medo de errar, de ser enganado, de perder dinheiro, de ser julgado. O que os paralisa antes de decidir.]
|
||||
|
||||
#### 9. Inimigos
|
||||
[Os "vilões" da história deste segmento — concorrentes que os desiludiram, sistemas que os prejudicam, tendências que os ameaçam, pessoas ou entidades a quem culpam o problema]
|
||||
|
||||
#### 10. Linguagem
|
||||
[As palavras e expressões exactas que usam para descrever o problema, a solução e os resultados. Jargão do sector. O que dizem aos amigos. O que escrevem no Google. Evitar linguagem que usamos internamente mas eles não usam.]
|
||||
|
||||
#### 11. Como procuram ajuda, informação ou dicas?
|
||||
[Onde vão quando têm o problema: Google (que pesquisas fazem?), YouTube, grupos Facebook, LinkedIn, amigos, consultores, feiras, etc. Que tipo de conteúdo consomem para se informar?]
|
||||
|
||||
#### 12. Canais digitais
|
||||
[Em que plataformas estão activos: Facebook, Instagram, LinkedIn, TikTok, YouTube, email, WhatsApp, fóruns, etc. Com que frequência? Em que contexto (trabalho vs lazer)?]
|
||||
|
||||
#### 13. Estilo de Decisão
|
||||
[Como tomam decisões de compra: rápido vs deliberado, emocional vs racional, individual vs colectivo, impulsivo vs comparativo. Que factores pesam mais? Precisam de aprovação de terceiros?]
|
||||
|
||||
#### 14. Mudanças
|
||||
[Mudanças que sabem e sentem necessárias nas suas vidas ou negócio. Passos que sabem que precisam dar mas ainda não deram. A consciência que já têm do problema.]
|
||||
|
||||
#### 15. Resistência à Mudança
|
||||
[De que maneira resistem à mudança? Que desculpas usam para adiar? Como os podemos ajudar a ultrapassar essa resistência? Que argumentos reduzem o atrito?]
|
||||
|
||||
#### 16. Objecções Típicas
|
||||
[As objecções mais frequentes às ofertas comerciais desta categoria. Como as podemos antecipar e superar? Respostas específicas a cada objecção.]
|
||||
|
||||
| Objecção | Como ultrapassar |
|
||||
|----------|----------------|
|
||||
| — | — |
|
||||
| — | — |
|
||||
| — | — |
|
||||
|
||||
#### 17. Forma de Gerar Emoção
|
||||
[Que tipo de conteúdo, história ou mensagem os move emocionalmente? O que os faz parar no scroll? O que os faz partilhar? Qual o gatilho emocional mais poderoso para este segmento?]
|
||||
|
||||
#### 18. Argumentos
|
||||
[A que argumentos são mais sensíveis? Como os podemos persuadir a agir? Que tipo de prova precisam: dados, testemunhos, demonstrações, garantias? Qual a sequência de persuasão ideal?]
|
||||
|
||||
#### 19. Concorrentes
|
||||
[Que outras entidades lhes oferecem o mesmo tipo de serviço ou solução alternativa? Como se comparam a nós em percepção de valor?]
|
||||
|
||||
#### 20. Propostas Recusadas
|
||||
[Que propostas é que este segmento tem recusado e porquê? O que dizem explicitamente e o que dizem implicitamente? O que não querem mais ouvir?]
|
||||
|
||||
---
|
||||
|
||||
## 6. Pitch Canvas
|
||||
|
||||
### 6.1 O que é o Pitch Canvas?
|
||||
O Pitch Canvas é uma ferramenta de comunicação estratégica que resume, numa única estrutura visual, o essencial da proposta de valor da empresa. É útil porque:
|
||||
- Força clareza e síntese (não há espaço para vagueza)
|
||||
- Alinha toda a equipa na mesma mensagem
|
||||
- Serve de base para qualquer peça de comunicação
|
||||
- Torna a proposta de valor testável e iterável
|
||||
|
||||
### 6.2 Utilidade específica para [Nome da Marca]
|
||||
[Como o Pitch Canvas pode ajudar esta marca concretamente — que clareza traz, que conversas simplifica, onde pode ser usado]
|
||||
|
||||
### 6.3 Os 5 elementos do Pitch Canvas
|
||||
|
||||
**Para quem:**
|
||||
> [Segmento principal — quem são e qual o problema específico]
|
||||
|
||||
**O problema:**
|
||||
> [Dor principal, urgente e real — formulada na linguagem do cliente]
|
||||
|
||||
**A solução:**
|
||||
> [O que oferecemos — mecanismo único de resolução]
|
||||
|
||||
**O resultado:**
|
||||
> [Transformação concreta — antes vs depois, com métrica se possível]
|
||||
|
||||
**Por que nós:**
|
||||
> [Razão para acreditar — o que nos torna credíveis e únicos]
|
||||
|
||||
### 6.4 Declaração de mudança no mundo
|
||||
> **"[Nome da Marca] está a mudar [o quê] para [quem], através de [como], tornando possível [impacto maior]."**
|
||||
|
||||
---
|
||||
|
||||
## 7. Copywriting Estratégico
|
||||
|
||||
### 7.1 Questionamento estratégico
|
||||
|
||||
**Qual é o objectivo da comunicação?**
|
||||
[Definir claramente o que queremos que o público faça, sinta ou pense após cada comunicação. Sem objectivo claro não há comunicação eficaz.]
|
||||
|
||||
**Que transformação prometemos?**
|
||||
[A transformação específica que a marca entrega — não o produto, mas a mudança de estado do cliente]
|
||||
|
||||
### 7.2 Pain + Gain (Problema e Resultado)
|
||||
|
||||
> **Pain:** [O problema central na perspectiva do cliente — formulado com a dor, não com o produto]
|
||||
> **Gain:** [O resultado desejado — formulado com o benefício, não com a funcionalidade]
|
||||
|
||||
*Revisão com questões específicas do sector:*
|
||||
> **Pain refinado:** [Após aprofundar com o briefing — mais específico, com linguagem do cliente]
|
||||
> **Gain refinado:** [Com métricas ou resultados concretos já entregues a outros clientes]
|
||||
|
||||
### 7.3 Narrativa por segmento
|
||||
|
||||
*Fórmula: Problema (dor do público) → Solução (serviços da empresa) → Resultado (benefícios concretos)*
|
||||
|
||||
**[Segmento A]:**
|
||||
> **Problema:** [Dor específica e urgente deste segmento, na sua linguagem]
|
||||
> **Solução:** [Como a marca resolve de forma única — mecanismo específico]
|
||||
> **Resultado:** [Benefício tangível e mensurável + prova social ou garantia]
|
||||
|
||||
**[Segmento B]:**
|
||||
> **Problema:** [...]
|
||||
> **Solução:** [...]
|
||||
> **Resultado:** [...]
|
||||
|
||||
*(Repetir para cada segmento)*
|
||||
|
||||
### 7.4 Mensagem central da marca
|
||||
> **"[A frase que todos os colaboradores sabem de cor — resumo da proposta de valor em 10 palavras]"**
|
||||
|
||||
### 7.5 Headlines por segmento
|
||||
|
||||
| Segmento | Headline principal | Headline secundária |
|
||||
|----------|------------------|-------------------|
|
||||
| [Seg. A] | — | — |
|
||||
| [Seg. B] | — | — |
|
||||
|
||||
---
|
||||
|
||||
## 8. Demonstração dos Serviços
|
||||
|
||||
### 8.1 Como demonstrar [serviço/produto principal]
|
||||
|
||||
**Preparação personalizada:**
|
||||
[O que preparar antes da demonstração para cada segmento]
|
||||
|
||||
**Introdução interactiva:**
|
||||
[Como começar — conectar com a dor antes de mostrar a solução]
|
||||
|
||||
**Demonstração ao vivo:**
|
||||
[O que mostrar, em que ordem, com que foco]
|
||||
|
||||
**Casos de uso:**
|
||||
[Exemplos reais de clientes similares — antes/depois]
|
||||
|
||||
**Q&A:**
|
||||
[Perguntas frequentes na demonstração e respostas modelo]
|
||||
|
||||
**Follow-up:**
|
||||
[Próximo passo após a demonstração — o que enviar, quando contactar]
|
||||
|
||||
---
|
||||
|
||||
## 9. Investimentos Prioritários
|
||||
|
||||
### 9.1 Prioridades imediatas (impacto/esforço)
|
||||
|
||||
| Prioridade | Investimento | Impacto esperado | Prazo | Custo estimado |
|
||||
|-----------|-------------|-----------------|-------|---------------|
|
||||
| 1 | [Ex: Website + SEO] | — | 30-60d | — |
|
||||
| 2 | [Ex: Google Ads] | — | 30d | — |
|
||||
| 3 | [Ex: Email marketing] | — | 60d | — |
|
||||
|
||||
### 9.2 Estratégia de canais
|
||||
|
||||
| Canal | Objectivo | Frequência | KPI | Budget mensal |
|
||||
|-------|-----------|-----------|-----|--------------|
|
||||
| Website | — | — | — | — |
|
||||
| Google Ads | — | — | — | — |
|
||||
| Meta Ads | — | — | — | — |
|
||||
| LinkedIn | — | — | — | — |
|
||||
| Email | — | — | — | — |
|
||||
| WhatsApp | — | — | — | — |
|
||||
|
||||
### 9.3 Pilares de conteúdo
|
||||
1. [Pilar 1 — tema + tipos de conteúdo + frequência]
|
||||
2. [Pilar 2]
|
||||
3. [Pilar 3]
|
||||
|
||||
---
|
||||
|
||||
## 10. Monitorização e KPIs
|
||||
|
||||
### 10.1 Dashboard de métricas
|
||||
|
||||
| Área | KPI | Baseline | Meta 3m | Meta 6m | Meta 12m |
|
||||
|------|-----|---------|---------|---------|----------|
|
||||
| Brand | Notoriedade espontânea | — | — | — | — |
|
||||
| Tráfego | Visitas/mês | — | — | — | — |
|
||||
| Leads | Leads qualificados/mês | — | — | — | — |
|
||||
| Conversão | Taxa de fecho | — | — | — | — |
|
||||
| Retenção | NPS | — | — | — | — |
|
||||
|
||||
### 10.2 Ciclo de optimização
|
||||
- **Revisão mensal:** métricas de canal, ajuste de conteúdo
|
||||
- **Revisão trimestral:** avaliação de ROI, ajuste de orçamento
|
||||
- **Revisão anual:** actualização estratégica completa
|
||||
|
||||
---
|
||||
|
||||
## 11. Inventário de Activos de Marketing
|
||||
|
||||
| Activo | Localização | Estado actual | Prioridade |
|
||||
|--------|------------|--------------|-----------|
|
||||
| Website | [URL] | — | — |
|
||||
| Blog/Artigos | — | — | — |
|
||||
| Redes sociais | — | — | — |
|
||||
| Base de emails | — | — | — |
|
||||
| Testemunhos/Cases | — | — | — |
|
||||
| Materiais impressos | — | — | — |
|
||||
| Apresentações | — | — | — |
|
||||
| Fotos/Vídeos profissionais | — | — | — |
|
||||
|
||||
---
|
||||
|
||||
## Notas de implementação
|
||||
|
||||
1. **Sessão de alinhamento:** Apresentar o documento à equipa antes de implementar
|
||||
2. **Validação:** Partilhar narrativas com 2-3 clientes actuais antes de publicar
|
||||
3. **Implementação faseada:** Começar pelos canais de maior impacto e menor esforço
|
||||
4. **Suporte:** WhatsApp durante 1 mês para dúvidas de implementação (EST-MRK-010)
|
||||
|
||||
---
|
||||
|
||||
*Elaborado por Descomplicar® — Agência de Aceleração Digital*
|
||||
*emanuel@descomplicar.pt | descomplicar.pt*
|
||||
@@ -0,0 +1,143 @@
|
||||
---
|
||||
name: expense
|
||||
description: Gestao de despesas Desk CRM com PDF obrigatorio. Registar, categorizar e analisar despesas com verificacao de duplicados por reference_no, upload SFTP e arquivo mensal automatico.
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# /expense - Gestao de Despesas
|
||||
|
||||
Skill para gestao de despesas com verificacao obrigatoria de categorias existentes.
|
||||
|
||||
## Quando Usar
|
||||
|
||||
- Registar nova despesa
|
||||
- Criar/gerir categorias de despesas
|
||||
- Consultar despesas por periodo/categoria
|
||||
- Associar despesas a projectos/clientes
|
||||
- Analise e relatorios de despesas
|
||||
- Processar despesas de tickets de contabilidade (departamento 3)
|
||||
- Importar recibos de servicos (Anthropic, Hetzner, etc.)
|
||||
|
||||
## Quando NAO Usar
|
||||
|
||||
- Para facturas a clientes (usar /invoice)
|
||||
- Para orcamentos (usar /orcamento)
|
||||
- Para pagamentos recebidos (usar /crm)
|
||||
|
||||
---
|
||||
|
||||
## REGRA CRITICA: CATEGORIAS
|
||||
|
||||
> **PROIBIDO criar categoria sem verificar se ja existe.**
|
||||
|
||||
```
|
||||
1. Listar categorias: get_expense_categories(with_stats=true)
|
||||
2. Pesquisar por nome similar na lista
|
||||
3. SE encontrar match ou similar: USAR a categoria existente
|
||||
4. SE realmente nao existe: PERGUNTAR "Nao encontrei categoria para X. Criar nova?"
|
||||
5. SO CRIAR apos confirmacao explicita
|
||||
```
|
||||
|
||||
**Violacao desta regra causa duplicados que prejudicam relatorios financeiros.**
|
||||
|
||||
Para mapeamento completo de fornecedores, emails e padroes PDF para categorias: ver `references/category-mapping.md`
|
||||
|
||||
---
|
||||
|
||||
## Protocolo: Registar Despesa
|
||||
|
||||
> **Gate PDF obrigatorio:** Sem documento, nao regista. Unica excepcao: bypass explicito do utilizador (AT/Salario sem recibo).
|
||||
|
||||
```
|
||||
1. GATE PDF: Verificar que existe ficheiro PDF
|
||||
- SE utilizador forneceu PDF: prosseguir
|
||||
- SE nao forneceu: PEDIR o ficheiro
|
||||
- SE nao tem e pede bypass: PERGUNTAR "Confirmas despesa sem documento?"
|
||||
- Bypass valido apenas para: AT, Salarios, transferencias bancarias
|
||||
2. LER O PDF: Extrair dados reais do documento
|
||||
- NUNCA copiar valor de um PDF para outro
|
||||
- EXTRAIR reference_no (numero factura) — OBRIGATORIO para dedup
|
||||
3. OBRIGATORIO: get_expense_categories(with_stats=true)
|
||||
4. Identificar categoria correcta na lista
|
||||
5. VERIFICAR DUPLICADOS (3 camadas — OBRIGATORIO):
|
||||
Camada 0 — Referencia de factura (PRIMARIA):
|
||||
- get_expenses(search: "<reference_no>")
|
||||
- Se alguma despesa tem reference_no IGUAL → DUPLICADO → PARAR
|
||||
Camada 1 — Fornecedor + Valor + Data:
|
||||
- get_expenses(search: "<fornecedor>")
|
||||
- Mesmo fornecedor + valor (±0.05) + data (±3 dias) = duplicado
|
||||
Camada 2 — Expense name:
|
||||
- get_expenses(search: "<fornecedor> - <reference_no>")
|
||||
- Se match exacto → duplicado
|
||||
Se QUALQUER camada detecta duplicado → NAO criar, informar utilizador
|
||||
6. Recolher dados:
|
||||
- category_id, amount, currency (EUR=3, USD=2), date (YYYY-MM-DD)
|
||||
- reference_no (numero factura — OBRIGATORIO)
|
||||
- note (incluir numero factura), send_invoice_to_customer = 0
|
||||
- Opcionais: client_id, project_id, billable, tax
|
||||
7. CONFIRMAR com utilizador (mostrar resumo)
|
||||
8. create_expense (INCLUIR reference_no no payload)
|
||||
9. UPLOAD PDF ao Desk via SFTP:
|
||||
a. mkdir -p no servidor: /home/ealmeida/desk.descomplicar.pt/uploads/expenses/<id>
|
||||
b. mcp__ssh-unified__sftp_upload(server:"desk", local_path, remote_path)
|
||||
c. chown -R ealmeida:ealmeida
|
||||
d. INSERT INTO tblfiles (rel_id, rel_type='expense', ...)
|
||||
10. ARQUIVO MENSAL: Mover PDF para Contabilidade/YYYY/NN-NomeMes/
|
||||
11. Confirmar criacao ao utilizador
|
||||
```
|
||||
|
||||
## Protocolo: Criar Categoria
|
||||
|
||||
```
|
||||
1. get_expense_categories() - listar todas
|
||||
2. Verificar se existe categoria similar
|
||||
3. SE existe similar: USAR ESSA, nao criar
|
||||
4. SE nao existe: perguntar confirmacao ao utilizador
|
||||
5. SO APOS confirmacao: criar
|
||||
```
|
||||
|
||||
## Protocolo: Consultar Despesas
|
||||
|
||||
```
|
||||
1. get_expenses com filtros: category, date_from/date_to, client_id, project_id, limit
|
||||
2. Apresentar resumo ao utilizador
|
||||
```
|
||||
|
||||
## Protocolo: Analise de Despesas
|
||||
|
||||
```
|
||||
1. expense_analytics: period ("month"/"quarter"/"year"), breakdown_by ("category"/"client"/"project")
|
||||
2. Apresentar insights: total por categoria, tendencias, categorias mais usadas
|
||||
```
|
||||
|
||||
## Processar Despesas de Tickets
|
||||
|
||||
Para protocolo completo de processamento de tickets de contabilidade: ver `references/ticket-processing.md`
|
||||
|
||||
**Resumo:** Obter ticket -> verificar anexos -> verificar duplicados (3 camadas) -> extrair dados -> confirmar -> criar despesa -> upload PDF -> arquivo mensal.
|
||||
|
||||
---
|
||||
|
||||
## Comandos
|
||||
|
||||
| Comando | Descricao |
|
||||
|---------|-----------|
|
||||
| `/expense create` | Registar nova despesa |
|
||||
| `/expense list` | Listar despesas recentes |
|
||||
| `/expense categories` | Listar categorias disponiveis |
|
||||
| `/expense report [periodo]` | Relatorio de despesas |
|
||||
| `/expense search [termo]` | Pesquisar despesas |
|
||||
|
||||
## MCP Tools
|
||||
|
||||
**Despesas:** `get_expenses`, `create_expense`, `update_expense`, `delete_expense`, `bill_expense_to_customer`
|
||||
**Categorias:** `get_expense_categories` (usar with_stats=true)
|
||||
**Analise:** `expense_analytics`
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns (NUNCA fazer)
|
||||
|
||||
**Categorias:**
|
||||
1. Criar categoria sem listar existentes primeiro
|
||||
2. Assumir qu
|
||||
@@ -0,0 +1,187 @@
|
||||
# /expense - Mapeamento de Categorias e Dados Técnicos
|
||||
|
||||
## Categorias Activas (consolidacao 12-02-2026)
|
||||
|
||||
| ID | Nome | Fornecedores típicos |
|
||||
|----|------|---------------------|
|
||||
| 1 | Telecomunicacoes | MEO |
|
||||
| 4 | Alojamento web (Hosting) | Hetzner, CWP |
|
||||
| 6 | Servicos Externos | Make/Celonis, Gamma |
|
||||
| 14 | Subscricoes e Servicos Digitais | YouTube Premium, BdThemes |
|
||||
| 28 | Licencas Software | Canva, Cursor, Descript, GitHub, Softaculous |
|
||||
| 30 | Servicos Cloud e Infraestrutura | Google One, Google Workspace, ElasticEmail |
|
||||
| 37 | Dominios | PTisp, Namecheap |
|
||||
| 38 | Servicos IA e APIs | Anthropic, OpenRouter, CapSolver, Replicate |
|
||||
|
||||
Existem ~30 categorias na BD mas apenas 8 são usadas regularmente. SEMPRE usar `get_expense_categories()` para lista completa.
|
||||
|
||||
---
|
||||
|
||||
## Mapeamento Fornecedor → Categoria
|
||||
|
||||
| Fornecedor | Categoria ID | Nome |
|
||||
|-----------|-------------|------|
|
||||
| Anthropic, OpenRouter, CapSolver, Replicate | 38 | Servicos IA e APIs |
|
||||
| Canva, Cursor, Descript, GitHub, Softaculous, CWP | 28 | Licencas Software |
|
||||
| Google One, Google Workspace, ElasticEmail | 30 | Servicos Cloud e Infraestrutura |
|
||||
| Hetzner | 4 | Alojamento web (Hosting) |
|
||||
| MEO | 1 | Telecomunicacoes |
|
||||
| PTisp, Namecheap | 37 | Dominios |
|
||||
| Make/Celonis, Gamma | 6 | Servicos Externos |
|
||||
| YouTube Premium, BdThemes | 14 | Subscricoes e Servicos Digitais |
|
||||
|
||||
---
|
||||
|
||||
## Mapeamento Email → Categoria
|
||||
|
||||
| Dominio Email | Categoria ID | Fornecedor |
|
||||
|---------------|--------------|------------|
|
||||
| anthropic.com | 38 | Anthropic |
|
||||
| openrouter.ai | 38 | OpenRouter |
|
||||
| payproglobal.com | 38 | CapSolver |
|
||||
| replicate.com | 38 | Replicate |
|
||||
| cursor.com, anysphere.dev | 28 | Cursor |
|
||||
| canva.com | 28 | Canva |
|
||||
| descript.com | 28 | Descript |
|
||||
| github.com | 28 | GitHub |
|
||||
| softaculous.com | 28 | Softaculous |
|
||||
| centos-webpanel.com | 28 | CWP |
|
||||
| elasticemail.com | 30 | ElasticEmail |
|
||||
| google.com (One/Workspace) | 30 | Google Cloud |
|
||||
| hetzner.com | 4 | Hetzner |
|
||||
| meoempresas.pt | 1 | MEO |
|
||||
| namecheap.com | 37 | Namecheap |
|
||||
| ptisp.pt | 37 | PTisp |
|
||||
| make.com, celonis.com | 6 | Make/Celonis |
|
||||
| gamma.app | 6 | Gamma |
|
||||
|
||||
> `moloni.com` NAO incluido - é plataforma de facturação.
|
||||
|
||||
---
|
||||
|
||||
## Mapeamento Padrão PDF → Categoria
|
||||
|
||||
| Padrão no PDF | Fornecedor | Categoria ID |
|
||||
|---------------|-----------|--------------|
|
||||
| `Gondooffice`, `Cubic Choices` | Gondooffice | 21 Contabilidade |
|
||||
| `Autoridade Tributaria`, `emiteDoc`, `AT -` | AT | 15 Planos Prestacionais |
|
||||
| `Staples`, `STP_ECOFACTURA` | Staples | 3 Material Escritorio |
|
||||
| `MEO`, `meoempresas` | MEO | 1 Telecomunicacoes |
|
||||
| `TOConline`, `Recibo de Vencimento` | Salario | 22 Salarios |
|
||||
| `Seguranca Social` | SS | 25 Contribuicoes SS |
|
||||
| `Cursor`, `Anysphere` | Cursor | 28 Licencas Software |
|
||||
| `Anthropic` | Anthropic | 38 Servicos IA e APIs |
|
||||
| `Hetzner` | Hetzner | 4 Alojamento web |
|
||||
| `ElasticEmail` | ElasticEmail | 30 Servicos Cloud |
|
||||
|
||||
---
|
||||
|
||||
## Campos create_expense
|
||||
|
||||
| Campo | Tipo | Obrigatório | Descrição |
|
||||
|-------|------|-------------|-----------|
|
||||
| category_id | number | Sim | ID da categoria |
|
||||
| amount | number | Sim | Valor da despesa |
|
||||
| date | string | Sim | Data (YYYY-MM-DD) |
|
||||
| note | string | Sim | Descrição (incluir ticket ID) |
|
||||
| reference | string | Sim | Número fatura/recibo |
|
||||
| tax | number | Sim | ID da taxa (1 = IVA 23%) |
|
||||
| currency | number | Sim | EUR = **3**, USD = 2 |
|
||||
| send_invoice_to_customer | number | Sim | Sempre **0** |
|
||||
| client_id | number | Não | Cliente associado |
|
||||
| project_id | number | Não | Projecto associado |
|
||||
| billable | boolean | Não | Facturável (default: false) |
|
||||
|
||||
---
|
||||
|
||||
## Moedas
|
||||
|
||||
| ID | Nome | Símbolo | Default |
|
||||
|----|------|---------|---------|
|
||||
| 2 | USD | $ | Não |
|
||||
| 3 | EUR | € | Sim |
|
||||
|
||||
> **CRITICO:** EUR = **3**, USD = **2**. `currency = 1` não existe e causa despesas invisíveis nos relatórios.
|
||||
|
||||
---
|
||||
|
||||
## Taxas de Imposto
|
||||
|
||||
| ID | Nome | Taxa |
|
||||
|----|------|------|
|
||||
| 1 | IVA Tx Normal | 23% |
|
||||
|
||||
---
|
||||
|
||||
## Comandos SQL
|
||||
|
||||
```sql
|
||||
-- 1. VERIFICAR DUPLICADOS (EXECUTAR PRIMEIRO)
|
||||
SELECT id, amount, date, note, reference_no FROM tblexpenses
|
||||
WHERE reference_no LIKE '%{receipt_number}%'
|
||||
OR note LIKE '%ticket #{ticket_id}%'
|
||||
|
||||
-- 2. Verificar anexos do ticket
|
||||
SELECT id, file_name, filetype FROM tblticket_attachments WHERE ticketid = {ID}
|
||||
|
||||
-- 3. Actualizar nome fornecedor (obrigatorio apos criar)
|
||||
UPDATE tblexpenses SET expense_name = '{Fornecedor}' WHERE id = {expense_id}
|
||||
|
||||
-- 4. Registar anexo na despesa
|
||||
INSERT INTO tblfiles (rel_id, rel_type, file_name, filetype, visible_to_customer, staffid, contact_id, dateadded)
|
||||
VALUES ({expense_id}, 'expense', '{filename}', 'application/pdf', 0, 1, 0, NOW())
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Extracção de Dados de PDFs
|
||||
|
||||
**Método 1: Script Python (recomendado)**
|
||||
```bash
|
||||
python3 /home/ealmeida/scripts/extract_invoice_data.py /path/to/invoice.pdf
|
||||
```
|
||||
Retorna JSON com: vendor, cat_id, total, date, invoice, currency, text
|
||||
|
||||
**Método 2: pdfplumber directo**
|
||||
```bash
|
||||
python3 -c "
|
||||
import pdfplumber
|
||||
with pdfplumber.open('/path/to/file.pdf') as pdf:
|
||||
for p in pdf.pages:
|
||||
t = p.extract_text()
|
||||
if t: print(t)
|
||||
" | grep -iE "total|iva|€"
|
||||
```
|
||||
|
||||
**Método 3: pdftotext (fallback)**
|
||||
```bash
|
||||
pdftotext /path/to/file.pdf - | head -80
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Paths de Ficheiros
|
||||
|
||||
- Anexos ticket: `/uploads/ticket_attachments/{ticketid}/`
|
||||
- Anexos despesa: `/uploads/expenses/{expenseid}/`
|
||||
- Arquivo mensal: `/media/ealmeida/Dados/GDrive/Cloud/ADM_Descomplicar/Financeiro/Contabilidade/YYYY/NN-NomeMes/`
|
||||
- Credenciais BD: `/home/ealmeida/desk.descomplicar.pt/application/config/app-config.php`
|
||||
|
||||
---
|
||||
|
||||
## Tickets a Saltar
|
||||
|
||||
| Tipo | Descrição | Acção |
|
||||
|------|-----------|-------|
|
||||
| Payment Receipt | Recibo de pagamento (não é fatura) | SALTAR |
|
||||
| Duplicado | Mesmo nº fatura já processado | SALTAR |
|
||||
| Sem anexo PDF | Apenas notificação por email | SALTAR |
|
||||
|
||||
---
|
||||
|
||||
## Campos para Rastreio de Duplicados
|
||||
|
||||
| Campo | Conteúdo | Exemplo |
|
||||
|-------|----------|---------|
|
||||
| reference | Número do recibo | `2810-3712-9577` |
|
||||
| note | Incluir ticket ID | `Anthropic Max (ticket #9648)` |
|
||||
@@ -0,0 +1,56 @@
|
||||
# /expense - Changelog
|
||||
|
||||
## v2.0.0 (2026-02-12) - Sistema Robusto 2026
|
||||
|
||||
- **Gate PDF obrigatorio:** Despesa sem documento nao e registada (bypass explicito para AT/Salario)
|
||||
- **Upload SFTP:** Substituido `cp` local por `mcp__ssh-unified__sftp_upload` (Regra #41)
|
||||
- **Arquivo mensal:** PDF organizado em `Contabilidade/YYYY/NN-NomeMes/` automaticamente
|
||||
- **Campo `send_invoice_to_customer`:** Documentado como obrigatorio na BD (valor 0)
|
||||
- **Correccao currency:** EUR = **3** (nao 2), USD = **2**. Corrigido em toda a skill
|
||||
- **Categorias alinhadas com consolidacao:** 8 categorias activas com mapeamento correcto
|
||||
- Cursor/Canva/Descript/GitHub/Softaculous/CWP -> 28 (Licencas Software)
|
||||
- Hetzner -> 4 (Alojamento web)
|
||||
- ElasticEmail/Google -> 30 (Servicos Cloud)
|
||||
- PTisp/Namecheap -> 37 (Dominios)
|
||||
- YouTube/BdThemes -> 14 (Subscricoes)
|
||||
- Make/Gamma -> 6 (Servicos Externos)
|
||||
- **Verificacao duplicados reforcada:** Integrada no passo 5 do protocolo
|
||||
- **MCP ssh-unified adicionado** a dependencias
|
||||
- **Procedimento:** `06-Operacoes/Procedimentos/PROC-Skill-Expense.md`
|
||||
|
||||
## v1.5.0 (2026-02-05)
|
||||
|
||||
- Adicionado mapeamento **Cursor (Anysphere)** -> categoria 38 (Servicos IA e APIs)
|
||||
|
||||
## v1.4.0 (2026-02-05)
|
||||
|
||||
- **CORRECCAO CRITICA:** ID moeda EUR = **2** (nao 1)
|
||||
- Despesas com currency=1 nao aparecem em relatorios
|
||||
- Corrigidas 22 despesas existentes via `UPDATE tblexpenses SET currency = 2 WHERE currency = 1`
|
||||
|
||||
## v1.3.0 (2026-02-05)
|
||||
|
||||
- **Conversao USD -> EUR obrigatoria** (taxa ~0.92, $19.99 -> 18.39 EUR)
|
||||
- **Processamento em lote** quando utilizador pede "criar todas"
|
||||
- Tickets a saltar documentados (payment receipts, duplicados, sem PDF)
|
||||
- 9 despesas processadas em sessao de teste: 857.73 EUR total
|
||||
|
||||
## v1.2.0 (2026-02-05)
|
||||
|
||||
- Campo `expense_name` obrigatorio com nome do fornecedor (via SQL UPDATE)
|
||||
- Campo `tax` e ID da taxa de imposto (1 = IVA 23%), nao percentagem
|
||||
- Coluna BD e `reference_no`, nao `reference`
|
||||
- Script Python para extraccao de PDFs
|
||||
- 3 metodos de extraccao PDF documentados
|
||||
|
||||
## v1.1.0 (2026-02-05)
|
||||
|
||||
- Processamento de despesas a partir de tickets de contabilidade
|
||||
- Mapeamento automatico email domain -> categoria
|
||||
- Workflow completo com verificacao de anexos PDF
|
||||
|
||||
## v1.0.0 (2026-02-05)
|
||||
|
||||
- Versao inicial
|
||||
- Regra critica de verificacao de categorias
|
||||
- Criada apos limpeza de 9 categorias duplicadas
|
||||
@@ -0,0 +1,75 @@
|
||||
# /expense - Processamento de Despesas de Tickets
|
||||
|
||||
## Regras
|
||||
|
||||
1. Processar tickets UM A UM com confirmacao do utilizador (ou em lote se solicitado)
|
||||
2. Verificar SEMPRE se despesa ja foi lancada (prevenir duplicados)
|
||||
3. NAO adicionar respostas aos tickets - apenas criar despesa e anexos
|
||||
4. Manter valor original na moeda do documento (EUR=3, USD=2)
|
||||
5. Saltar tickets que sao apenas recibos de pagamento (nao sao facturas)
|
||||
|
||||
---
|
||||
|
||||
## Protocolo Ticket a Ticket
|
||||
|
||||
```
|
||||
1. Obter ticket: get_ticket(ticket_id)
|
||||
2. Verificar anexos: SELECT * FROM tblticket_attachments WHERE ticketid = X
|
||||
3. SE nao tem PDFs: SALTAR ticket (apenas notificacao)
|
||||
4. VERIFICAR DUPLICADOS (OBRIGATORIO):
|
||||
SELECT id, amount, date, note FROM tblexpenses
|
||||
WHERE reference_no LIKE '%{receipt_number}%' OR note LIKE '%ticket #{ticket_id}%'
|
||||
SE encontrar: PARAR e informar "Despesa ja existe: #ID"
|
||||
5. Extrair dados:
|
||||
- Do HTML do ticket (valor, data, referencia)
|
||||
- OU usar script Python: python3 /home/ealmeida/scripts/extract_invoice_data.py {pdf_path}
|
||||
6. APRESENTAR resumo ao utilizador e AGUARDAR confirmacao
|
||||
7. Apos confirmacao:
|
||||
a. SQL: INSERT INTO tblexpenses (..., send_invoice_to_customer, ...) VALUES (..., 0, ...)
|
||||
OU create_expense via MCP (se disponivel)
|
||||
b. UPDATE tblexpenses SET expense_name = '{Fornecedor}' WHERE id = {id}
|
||||
c. mcp__ssh-unified__ssh_execute: mkdir -p uploads/expenses/{expenseid}
|
||||
d. mcp__ssh-unified__sftp_upload: PDF para uploads/expenses/{expenseid}/
|
||||
e. mcp__ssh-unified__ssh_execute: chown -R ealmeida:ealmeida uploads/expenses/{expenseid}
|
||||
f. SQL: INSERT INTO tblfiles (rel_id, rel_type, file_name, filetype,
|
||||
visible_to_customer, staffid, contact_id, dateadded)
|
||||
VALUES ({id}, 'expense', '{file}', 'application/pdf', 0, 1, 0, NOW())
|
||||
g. Mover PDF para arquivo mensal: Contabilidade/YYYY/NN-NomeMes/
|
||||
8. Confirmar ao utilizador e passar ao proximo
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Processamento em Lote
|
||||
|
||||
Se utilizador pedir "criar todas" ou "processar em lote":
|
||||
1. Obter todos os tickets pendentes em paralelo
|
||||
2. Identificar duplicados e tickets a saltar
|
||||
3. Criar despesas em paralelo via `create_expense`
|
||||
4. Actualizar `expense_name` e `reference_no` em batch via SQL
|
||||
5. Copiar PDFs em batch
|
||||
6. Registar ficheiros em batch via SQL INSERT multiplo
|
||||
|
||||
---
|
||||
|
||||
## Tickets a Saltar
|
||||
|
||||
| Tipo | Descricao | Accao |
|
||||
|------|-----------|-------|
|
||||
| Payment Receipt | Recibo de pagamento (nao e fatura) | SALTAR |
|
||||
| Duplicado | Mesmo numero fatura ja processado | SALTAR |
|
||||
| Sem anexo PDF | Apenas notificacao por email | SALTAR |
|
||||
|
||||
Exemplos:
|
||||
- "Invoice Payment Confirmation" (e recibo, nao fatura)
|
||||
- Ticket com mesmo invoice_number de outro ja processado
|
||||
|
||||
---
|
||||
|
||||
## Credenciais Base de Dados
|
||||
|
||||
Localizacao: `/home/ealmeida/desk.descomplicar.pt/application/config/app-config.php`
|
||||
|
||||
```bash
|
||||
grep -E "APP_DB" /home/ealmeida/desk.descomplicar.pt/application/config/app-config.php
|
||||
```
|
||||
@@ -0,0 +1,8 @@
|
||||
# skills
|
||||
|
||||
## Documentação
|
||||
|
||||
- [README](README.md)
|
||||
- [AGENTS](AGENTS.md)
|
||||
- [STATUS](STATUS.md)
|
||||
- [MEMORY](MEMORY.md)
|
||||
@@ -0,0 +1,239 @@
|
||||
---
|
||||
name: invoice
|
||||
description: Gestão de facturação Desk CRM. Criar facturas, converter estimates, facturar timesheets, registar pagamentos e listar facturas vencidas.
|
||||
disable-model-invocation: true
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# /invoice v1.0 - Gestão de Facturação
|
||||
|
||||
Facturação completa via Desk CRM: criar, enviar, pagamentos.
|
||||
|
||||
---
|
||||
|
||||
## Comandos
|
||||
|
||||
| Comando | Função |
|
||||
|---------|--------|
|
||||
| `/invoice` | Resumo: pendentes, vencidas |
|
||||
| `/invoice create <client>` | Criar factura directa |
|
||||
| `/invoice from-estimate <id>` | Converter estimate aceite |
|
||||
| `/invoice from-timesheets <project>` | Facturar horas |
|
||||
| `/invoice send <id>` | Enviar ao cliente |
|
||||
| `/invoice payment <id>` | Registar pagamento |
|
||||
| `/invoice overdue` | Listar vencidas |
|
||||
|
||||
---
|
||||
|
||||
## Protocolo
|
||||
|
||||
### /invoice (Resumo)
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_invoices({ status: [1,4] }) // Unpaid + Overdue
|
||||
2. Calcular totais
|
||||
3. Mostrar resumo
|
||||
```
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
## 💰 Facturação
|
||||
|
||||
### Pendentes (3)
|
||||
| # | Cliente | Valor | Vencimento |
|
||||
|---|---------|-------|------------|
|
||||
| INV-2026-045 | TechCorp | €2.500 | 10/02 |
|
||||
| INV-2026-044 | StartupX | €1.800 | 15/02 |
|
||||
|
||||
### Vencidas (1)
|
||||
| # | Cliente | Valor | Dias |
|
||||
|---|---------|-------|------|
|
||||
| INV-2026-040 | OldClient | €950 | 15 dias |
|
||||
|
||||
### Totais
|
||||
- Pendente: €4.300
|
||||
- Vencido: €950
|
||||
- **A receber:** €5.250
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /invoice create <client>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__search_customers({ query: client })
|
||||
2. Se não encontrar: "Cliente não encontrado"
|
||||
3. Perguntar itens:
|
||||
- Descrição
|
||||
- Quantidade
|
||||
- Valor unitário
|
||||
4. Calcular subtotal + IVA (23%)
|
||||
5. mcp__desk-crm-v3__create_invoice({
|
||||
client_id: client_id,
|
||||
items: [...],
|
||||
tax_id: 1, // IVA 23%
|
||||
status: 1
|
||||
})
|
||||
6. "Factura #X criada (€Y). Enviar ao cliente? [Sim/Não]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /invoice from-estimate <id>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_estimate({ estimate_id: id })
|
||||
2. Verificar status = 4 (Aceite)
|
||||
- Se não aceite: "Estimate não aceite. Não é possível converter."
|
||||
3. Mostrar detalhes do estimate
|
||||
4. "Converter estimate #X para factura? [Sim/Não]"
|
||||
5. mcp__desk-crm-v3__convert_estimate_to_invoice({ estimate_id: id })
|
||||
6. "Factura #Y criada. Enviar? [Sim/Não]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /invoice from-timesheets <project>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_project({ project_id })
|
||||
2. mcp__desk-crm-v3__get_timesheets_advanced({
|
||||
project_id: project_id,
|
||||
billed: false
|
||||
})
|
||||
3. Calcular total horas × rate do projecto
|
||||
4. Mostrar resumo:
|
||||
- Horas: Xh
|
||||
- Rate: €Y/h
|
||||
- Total: €Z
|
||||
5. "Criar factura de €Z? [Sim/Não]"
|
||||
6. mcp__desk-crm-v3__create_invoice({
|
||||
client_id: project.client_id,
|
||||
items: [{ description: "Horas - Projecto X", qty: hours, rate: rate }]
|
||||
})
|
||||
7. mcp__desk-crm-v3__bulk_mark_billed({ timesheet_ids: [...] })
|
||||
8. "Factura #Y criada. Timesheets marcados como facturados."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /invoice send <id>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_invoice({ invoice_id: id })
|
||||
2. Verificar dados do cliente (email)
|
||||
3. "Enviar factura #X para [email]? [Sim/Não]"
|
||||
4. Marcar como enviada (status: 2)
|
||||
5. Confirmar envio
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /invoice payment <id>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_invoice({ invoice_id: id })
|
||||
2. Mostrar: Total €X, Pago €Y, Falta €Z
|
||||
3. Perguntar:
|
||||
- Valor pago
|
||||
- Data pagamento
|
||||
- Método (Transferência, MB, PayPal, etc.)
|
||||
4. mcp__desk-crm-v3__process_payment({
|
||||
invoice_id: id,
|
||||
amount: valor,
|
||||
payment_date: data,
|
||||
payment_mode: metodo
|
||||
})
|
||||
5. Confirmar: "Pagamento de €V registado. Saldo: €S"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /invoice overdue
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__overdue_invoices_report()
|
||||
2. Ordenar por dias de atraso
|
||||
3. Mostrar lista com opções
|
||||
```
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
## ⚠️ Facturas Vencidas (3)
|
||||
|
||||
| # | Cliente | Valor | Dias | Contacto |
|
||||
|---|---------|-------|------|----------|
|
||||
| INV-040 | OldClient | €950 | 15 | joao@old.pt |
|
||||
| INV-038 | SlowPay | €2.100 | 22 | maria@slow.pt |
|
||||
| INV-035 | LateInc | €750 | 30 | admin@late.pt |
|
||||
|
||||
**Total vencido:** €3.800
|
||||
|
||||
Acções:
|
||||
- [Enviar lembrete a todos]
|
||||
- [Ver detalhes de #X]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Status Invoices
|
||||
|
||||
| ID | Status |
|
||||
|----|--------|
|
||||
| 1 | Unpaid (não paga) |
|
||||
| 2 | Paid (paga) |
|
||||
| 3 | Partially Paid (parcial) |
|
||||
| 4 | Overdue (vencida) |
|
||||
| 5 | Cancelled (cancelada) |
|
||||
|
||||
---
|
||||
|
||||
## Workflow Completo: Estimate → Invoice → Payment
|
||||
|
||||
```
|
||||
1. Estimate aceite pelo cliente (status: 4)
|
||||
2. /invoice from-estimate <estimate_id>
|
||||
3. /invoice send <invoice_id>
|
||||
4. Cliente paga
|
||||
5. /invoice payment <invoice_id>
|
||||
6. Factura fechada (status: 2)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Workflow: Facturar Timesheets Mensais
|
||||
|
||||
```
|
||||
1. Final do mês
|
||||
2. /invoice from-timesheets <project_id>
|
||||
3. Revê horas e valores
|
||||
4. Confirma criação
|
||||
5. Timesheets marcados como facturados
|
||||
6. /invoice send <id>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## IVA (Portugal)
|
||||
|
||||
| Taxa | Uso |
|
||||
|------|-----|
|
||||
| 23% | Serviços gerais (default) |
|
||||
| 13% | Alimentação |
|
||||
| 6% | Bens essenciais |
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- **NUNCA** converter estimate não-aceite
|
||||
- **NUNCA** criar factura sem confirmar valores
|
||||
- **NUNCA** enviar factura sem verificar dados cliente
|
||||
- **NUNCA** registar pagamento sem confirmar valor
|
||||
|
||||
---
|
||||
|
||||
## Integração
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
## 2026-06-30 init | Estrutura padrão
|
||||
@@ -0,0 +1,151 @@
|
||||
---
|
||||
name: orcamento
|
||||
description: Criação de orçamentos Descomplicar baseados nos itens oficiais do Desk CRM. Versão light para heartbeats.
|
||||
disable-model-invocation: true
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# Orçamento — Referência Rápida
|
||||
|
||||
## Fonte de verdade: Desk CRM (`tblitems` + `tblitems_groups`)
|
||||
|
||||
651 itens em 14 grupos. Consultar SEMPRE o CRM para preços actualizados.
|
||||
|
||||
## Sintaxe
|
||||
|
||||
```
|
||||
/orcamento [cliente] [tipo] [-MEN|-TRI]
|
||||
```
|
||||
|
||||
| Código | Tipo | Grupo CRM |
|
||||
|--------|------|-----------|
|
||||
| `starter` | StarterWP | Websites |
|
||||
| `corporate` | CorporateWP | Websites |
|
||||
| `care` | CareWP | Websites |
|
||||
| `ecom` | eCommerceWP | Websites |
|
||||
| `mkt` | Marketing 360 | Marketing |
|
||||
| `man` | Manutenção | Suporte |
|
||||
| `deskcrm` | DeskCRM | DeskCRM |
|
||||
| `chatbot` | Chatbot | Chatbots |
|
||||
| `acceleratorx` | AcceleratorX | Tecnologia |
|
||||
|
||||
## Variantes de facturação
|
||||
|
||||
| Flag | Unit | Pesquisa CRM |
|
||||
|------|------|-------------|
|
||||
| (nenhum) | ano | Item base |
|
||||
| `-MEN` | mensalidade | `WHERE description LIKE 'Mensalidade%...'` |
|
||||
| `-TRI` | trimestral | `WHERE description LIKE 'Trimestral%...'` |
|
||||
|
||||
Preços das variantes são definidos no CRM (podem incluir markup). Nunca calcular por divisão simples.
|
||||
|
||||
## Protocolo
|
||||
|
||||
### 1. Identificar cliente
|
||||
|
||||
```
|
||||
mcp__desk-crm-v3__search_customers query="[nome]" fields="company,vat"
|
||||
```
|
||||
|
||||
### 2. Consultar preços
|
||||
|
||||
```bash
|
||||
# Itens base (setup/pontuais)
|
||||
mysql -u root ealmeida_desk24 -e "
|
||||
SELECT description, rate, unit FROM tblitems
|
||||
WHERE group_id = [GROUP_ID]
|
||||
AND description LIKE '%[PACOTE]%'
|
||||
AND unit NOT IN ('mensalidade','trimestral','anuidade')
|
||||
ORDER BY description;"
|
||||
|
||||
# Itens recorrentes (com variante)
|
||||
mysql -u root ealmeida_desk24 -e "
|
||||
SELECT description, rate, unit FROM tblitems
|
||||
WHERE group_id = [GROUP_ID]
|
||||
AND description LIKE '[Mensalidade|Trimestral]%[PACOTE]%'
|
||||
ORDER BY description;"
|
||||
```
|
||||
|
||||
Ou via MCP:
|
||||
```
|
||||
mcp__desk-crm-v3__price_management action="get_pricing_insights" params={"group": "[GRUPO]"}
|
||||
```
|
||||
|
||||
### 3. Criar estimate
|
||||
|
||||
```
|
||||
mcp__desk-crm-v3__create_estimate
|
||||
client_id=[id]
|
||||
date=[hoje]
|
||||
expiry_date=[hoje + 30 dias]
|
||||
items=[{description, qty, rate, unit}]
|
||||
terms="[termos]"
|
||||
```
|
||||
|
||||
**Formato item:** `{"description": "...", "qty": 1, "rate": 700, "unit": "un"}`
|
||||
|
||||
**Unidades:** `un` (pontual), `mensalidade` (-MEN), `trimestral` (-TRI), `anuidade` (defeito)
|
||||
|
||||
### 4. Termos por variante
|
||||
|
||||
- **Sem flag:** "50% na adjudicação + 50% na entrega"
|
||||
- **-MEN:** "Setup: 50%+50% | Recorrência: facturação mensal antecipada"
|
||||
- **-TRI:** "Setup: 50%+50% | Recorrência: facturação trimestral antecipada"
|
||||
|
||||
## Preços de referência (consultar CRM para valores reais)
|
||||
|
||||
### Websites
|
||||
|
||||
| Produto | Setup | Anuidade |
|
||||
|---------|-------|----------|
|
||||
| StarterWP | 700 | 250 |
|
||||
| CorporateWP | 900 | 299 |
|
||||
| eCommerceWP | 1100 | 349 |
|
||||
| CareWP | 1300 | 350 |
|
||||
|
||||
### DeskCRM
|
||||
|
||||
| Produto | Anuidade |
|
||||
|---------|----------|
|
||||
| Starter | 400 |
|
||||
| Profissional | 800 |
|
||||
| Avançado | 1500 |
|
||||
| Enterprise | 3000 |
|
||||
|
||||
### AcceleratorX
|
||||
|
||||
| Produto | Setup |
|
||||
|---------|-------|
|
||||
| WP ProCMS | 650 |
|
||||
| e-Commerce | 750 |
|
||||
| Care | 750 |
|
||||
| School Manager | 850 |
|
||||
|
||||
### Chatbots
|
||||
|
||||
| Produto | Setup |
|
||||
|---------|-------|
|
||||
| Básico | 350 |
|
||||
| Avançado | 850 |
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] Cliente identificado/criado no CRM
|
||||
- [ ] Tipo seleccionado
|
||||
- [ ] Preços consultados no CRM
|
||||
- [ ] Valores calculados (subtotal + IVA 23%)
|
||||
- [ ] Recorrência calculada
|
||||
- [ ] Estimate criado (status: Draft)
|
||||
- [ ] Resumo apresentado
|
||||
|
||||
## MCPs
|
||||
|
||||
```
|
||||
mcp__desk-crm-v3__search_customers
|
||||
mcp__desk-crm-v3__create_customer
|
||||
mcp__desk-crm-v3__create_estimate
|
||||
mcp__desk-crm-v3__price_management
|
||||
```
|
||||
|
||||
---
|
||||
**Versão**: 4.1.0-light | **Base**: 4.1.0
|
||||
@@ -0,0 +1,118 @@
|
||||
---
|
||||
name: orcamento
|
||||
description: Criação sistemática de orçamentos Descomplicar baseados nos itens oficiais do Desk CRM. Suporta StarterWP, CorporateWP, CareWP, eCommerceWP, Marketing 360, Manutenção, AcceleratorX, DeskCRM e Chatbots. Variantes -MEN (mensal) e -TRI (trimestral).
|
||||
disable-model-invocation: true
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# Skill /orcamento - Criacao Sistematica de Orcamentos
|
||||
|
||||
Skill para criar orcamentos profissionais baseados nos itens oficiais do Desk CRM, com integracao directa ao CRM.
|
||||
|
||||
## Fonte de Verdade
|
||||
|
||||
**IMPORTANTE**: A fonte de verdade para precos e servicos e o Desk CRM (`tblitems` + `tblitems_groups`).
|
||||
|
||||
- **651 itens** em **14 grupos**: Websites, DeskCRM, Licencas, Tecnologia, Servicos, Chatbots, Marketing, Suporte, Comunicacao, Design, Estrategia, Mobile, IA, Alojamento
|
||||
- Cada servico pode ter variantes de facturacao: Investimento, Anuidade, Trimestral, Mensalidade
|
||||
- Os precos no CRM sao actualizados pela equipa e reflectem-se automaticamente nos orcamentos
|
||||
|
||||
### Grupos de Itens (tblitems_groups)
|
||||
|
||||
| ID | Grupo | Total Itens | Tipo Principal |
|
||||
|----|-------|-------------|----------------|
|
||||
| 1 | Websites | 183 | Pacotes WP + funcionalidades + anuidades |
|
||||
| 14 | DeskCRM | 127 | Pacotes CRM + modulos |
|
||||
| 8 | Licencas | 108 | Plugins WP + renovacoes |
|
||||
| 3 | Tecnologia | 63 | AcceleratorX + WhatSMS |
|
||||
| 2 | Servicos | 62 | Packs de horas |
|
||||
| 13 | Chatbots | 46 | Chatbots + integracoes |
|
||||
| 4 | Marketing | 34 | Packs SEO, Email, Ads |
|
||||
| 9 | Suporte | 8 | Bancos de horas |
|
||||
| 5 | Comunicacao | 5 | Packs copywriting |
|
||||
| 6 | Design | 5 | Branding |
|
||||
| 7 | Estrategia | 5 | Consultoria, coaching |
|
||||
| 10 | Mobile | 3 | App React Native |
|
||||
| 12 | IA | 2 | Agentes virtuais |
|
||||
| 11 | Alojamento Web | — | Incluido nos websites |
|
||||
|
||||
### Como Consultar Itens
|
||||
|
||||
```
|
||||
# Listar itens por grupo
|
||||
mcp__desk-crm-v3__price_management action="get_pricing_insights" params={"group": "Websites"}
|
||||
|
||||
# Pesquisar item especifico via SQL (ssh server)
|
||||
mysql -u root ealmeida_desk24 -e "
|
||||
SELECT i.description, i.rate, i.unit, g.name as grupo
|
||||
FROM tblitems i
|
||||
JOIN tblitems_groups g ON i.group_id = g.id
|
||||
WHERE i.description LIKE '%StarterWP%'
|
||||
ORDER BY i.description;"
|
||||
|
||||
# Listar todos os itens de um grupo (ex: grupo 1 = Websites)
|
||||
mysql -u root ealmeida_desk24 -e "
|
||||
SELECT i.description, i.rate, i.unit
|
||||
FROM tblitems i
|
||||
WHERE i.group_id = 1
|
||||
AND i.unit NOT IN ('mensalidade','trimestral','anuidade')
|
||||
ORDER BY i.description;"
|
||||
```
|
||||
|
||||
### Variantes de Facturacao
|
||||
|
||||
Cada servico recorrente tem 4 variantes no CRM. Por defeito, o estimate usa o **item base**. Com os flags `-MEN` ou `-TRI`, os itens recorrentes sao incluidos directamente na variante pretendida.
|
||||
|
||||
| Tipo | Sufixo no CRM | Flag | Quando usar |
|
||||
|------|---------------|------|-------------|
|
||||
| Investimento/Projeto | (sem sufixo) | (nenhum) | Projectos unicos |
|
||||
| Anuidade | "Anuidade ..." | (nenhum) | Servicos com renovacao anual |
|
||||
| Trimestral | "Trimestral ..." | `-TRI` | Cliente quer facturacao trimestral |
|
||||
| Mensalidade | "Mensalidade ..." | `-MEN` | Cliente quer facturacao mensal |
|
||||
|
||||
**Regra por defeito** (sem flag): No estimate, incluir o item base. Ao converter para invoice, seleccionar a variante de facturacao acordada.
|
||||
|
||||
**Regra com flag `-MEN` ou `-TRI`**: Pesquisar itens recorrentes pela variante correspondente (prefixo "Mensalidade ..." ou "Trimestral ..."). Itens pontuais (setup, configuracao) mantêm-se inalterados. Apenas itens com unit "anuidade" sao substituidos pela variante equivalente.
|
||||
|
||||
### Mapeamento de Variantes
|
||||
|
||||
Ao usar `-MEN` ou `-TRI`, para cada item recorrente (unit = "anuidade"):
|
||||
|
||||
1. Pesquisar no CRM o item equivalente com o prefixo da variante:
|
||||
- `-MEN`: `WHERE description LIKE 'Mensalidade %' AND description LIKE '%[NOME_ITEM]%'`
|
||||
- `-TRI`: `WHERE description LIKE 'Trimestral %' AND description LIKE '%[NOME_ITEM]%'`
|
||||
2. Se encontrado, usar o preco e unit da variante
|
||||
3. Se nao encontrado, manter item base e avisar o utilizador
|
||||
|
||||
**Calculo de valores com variantes:**
|
||||
|
||||
| Flag | Unit no estimate | Qty | Calculo |
|
||||
|------|-----------------|-----|---------|
|
||||
| (nenhum) | `ano` | 1 | Valor anual |
|
||||
| `-TRI` | `trimestral` | 1 | Valor trimestral (tipicamente anuidade / 4 * 1.05-1.10) |
|
||||
| `-MEN` | `mensalidade` | 1 | Valor mensal (tipicamente anuidade / 12 * 1.10-1.15) |
|
||||
|
||||
**Nota**: Os precos das variantes sao definidos no CRM e podem incluir markup sobre o valor anual. Consultar SEMPRE o CRM, nunca calcular por divisao simples.
|
||||
|
||||
## Quando Usar
|
||||
|
||||
- Criar orcamento para cliente novo ou existente
|
||||
- Gerar proposta comercial (estimate)
|
||||
- Consultar precos oficiais de produtos/servicos
|
||||
- Calcular valores com IVA e anuidades
|
||||
- Integrar orcamento directamente no CRM
|
||||
|
||||
## Quando NAO Usar
|
||||
|
||||
- Para analise estrategica de lead (usar /lead-approach)
|
||||
- Para operacoes CRM genericas (usar /crm-ops)
|
||||
|
||||
---
|
||||
|
||||
## Contexto NotebookLM
|
||||
|
||||
ANTES de executar, consultar notebooks para contexto especializado:
|
||||
|
||||
| Notebook | ID | Consultar quando |
|
||||
|----------|-----|-----------------|
|
||||
| Estratégia e Empreendedorismo | 7
|
||||
@@ -0,0 +1,193 @@
|
||||
# Tabela de Preços Oficial Descomplicar®
|
||||
|
||||
Referência oficial para orçamentação - Fonte: Orçamentador Web Sites
|
||||
|
||||
## 1. Websites Base
|
||||
|
||||
| Produto | Configuração | Anuidade | Prazo | Descrição |
|
||||
|---------|--------------|----------|-------|-----------|
|
||||
| **StarterWP** | 700€ | 250€ | 3-5 sem | Pequenas empresas, presença online básica |
|
||||
| **CorporateWP** | 900€ | 299€ | 4-6 sem | Empresas médias/grandes, solução robusta |
|
||||
| **eCommerceWP** | 1.100€ | 349€ | 7-9 sem | Loja online completa |
|
||||
| **ChallengeWP** | 700€ | 250€ | 8-10 sem | Websites fora do padrão, interactivos |
|
||||
| **CareWP** | 1.300€ | 350€ | 4-6 sem | Clínicas e consultórios |
|
||||
|
||||
## 2. Infraestrutura
|
||||
|
||||
| Item | Valor |
|
||||
|------|-------|
|
||||
| Registo de Domínio | 20€/ano |
|
||||
| Alojamento Premium SSD NVMe | 100€/ano |
|
||||
|
||||
## 3. Importação de Conteúdos
|
||||
|
||||
| Tipo | De WP | Outras Fontes |
|
||||
|------|-------|---------------|
|
||||
| Artigos | 35€ | 75€ |
|
||||
| Multimédia | 35€ | 75€ |
|
||||
| Utilizadores | 35€ | 75€ |
|
||||
| Produtos | 35€ | 75€ |
|
||||
| Encomendas | 35€ | 75€ |
|
||||
|
||||
## 4. Criação de Conteúdos
|
||||
|
||||
| Tipo | Criar Página | Produção Conteúdo |
|
||||
|------|--------------|-------------------|
|
||||
| Artigos | 50€ | 50€ |
|
||||
| Produtos | 50€ | 50€ |
|
||||
| Serviços | 50€ | 50€ |
|
||||
| Colaboradores | 50€ | 50€ |
|
||||
| Parceiros | 50€ | 50€ |
|
||||
| Clientes | 50€ | 50€ |
|
||||
| Representantes | 50€ | 50€ |
|
||||
| Portfólios | 50€ | 50€ |
|
||||
| Downloads | 50€ | 50€ |
|
||||
| Formulários Simples | 50€ | 50€ |
|
||||
|
||||
## 5. Funcionalidades de Gestão
|
||||
|
||||
| Funcionalidade | Instalação | Configuração | Anuidade | Notas |
|
||||
|----------------|------------|--------------|----------|-------|
|
||||
| Finance Control | 75€ | 125€ | 75€ | - |
|
||||
| EasyAppointment | 55€ | 120€ | 50€ | Agendas |
|
||||
| EasyBooking | 120€ | 30€ | 50€ | Produtos/Serviços |
|
||||
| EventManager | 75€ | 90€ | 60€ | Por nº eventos |
|
||||
| MemberShip | 149€ | 90€ | 100€ | Tipos de membros |
|
||||
| Support | 90€ | 75€ | 90€ | Nº operadores |
|
||||
|
||||
## 6. Funcionalidades e-Commerce
|
||||
|
||||
| Funcionalidade | Instalação | Configuração | Anuidade | Notas |
|
||||
|----------------|------------|--------------|----------|-------|
|
||||
| CommerceMail | 50€ | 50€ | 50€ | - |
|
||||
| CartRecovery | 90€ | 100€ | 90€ | - |
|
||||
| MarketPlace | - | 150€ | - | Por revendedor |
|
||||
| Wholesale | - | 150€ | 129€ | Tipos de clientes |
|
||||
| ShopBuilder | - | 5€ | - | Por produto |
|
||||
| Tratamento Imagens | - | 10€ | - | Por imagem |
|
||||
| Config Pagamento | - | 50€ | - | Por gateway |
|
||||
| Config Transportador | - | 50€ | - | Por transportador |
|
||||
| Config Preço Transporte | - | 50€ | - | - |
|
||||
| Config Tracking | - | 50€ | - | Por transportador |
|
||||
| Filtros Inteligentes | - | 50€ | - | - |
|
||||
|
||||
## 7. Funcionalidades Marketing
|
||||
|
||||
| Funcionalidade | Instalação | Configuração | Anuidade | Notas |
|
||||
|----------------|------------|--------------|----------|-------|
|
||||
| AutoCRM | - | 60€ | - | Autoresponder |
|
||||
| AutoCRM PRO | 100€ | 75€ | 90€ | Campanhas |
|
||||
| SmartSEO | - | 25€ | - | Por artigo |
|
||||
| Analytics | - | 75€ | - | Conversões |
|
||||
| Engage | - | 60€ | - | Forms + autoresponder |
|
||||
| Forms Simples | - | 35€ | - | - |
|
||||
| Forms Inteligentes | - | 150€ | - | - |
|
||||
|
||||
## 8. Funcionalidades Conteúdo
|
||||
|
||||
| Funcionalidade | Instalação | Configuração | Anuidade | Notas |
|
||||
|----------------|------------|--------------|----------|-------|
|
||||
| AIssistant PRO | 60€ | 50€ | 60€ | Config personalizadas |
|
||||
| Docs | - | 50€ | 50€ | Áreas documentação |
|
||||
| PodCaster | - | 50€ | 60€ | Canais distribuição |
|
||||
| ImageBanker | - | 20€ | - | Fontes imagens |
|
||||
|
||||
## 9. Funcionalidades Design
|
||||
|
||||
| Funcionalidade | Configuração | Notas |
|
||||
|----------------|--------------|-------|
|
||||
| MegaMenu | 50€ | Por área |
|
||||
| MyLabel | 100€ | Personalização BackOffice |
|
||||
|
||||
## 10. Ferramentas e Segurança
|
||||
|
||||
| Funcionalidade | Configuração | Anuidade | Notas |
|
||||
|----------------|--------------|----------|-------|
|
||||
| SMTP | 50€ | - | Config envio |
|
||||
| Integrator | 50€ | - | Integrações |
|
||||
| Backup | 50€ | - | Regras backup |
|
||||
| Defender | 50€ | - | Regras personalizadas |
|
||||
| Hideout | 50€ | 50€ | Sistemas a ocultar |
|
||||
|
||||
## 11. Performance
|
||||
|
||||
| Funcionalidade | Configuração | Anuidade |
|
||||
|----------------|--------------|----------|
|
||||
| Speed | 50€ | 50€ |
|
||||
| Compress (CloudFlare) | 35€ | - |
|
||||
| PluginManager | 35€ | - |
|
||||
|
||||
## 12. Outras Funcionalidades
|
||||
|
||||
| Funcionalidade | Configuração | Anuidade |
|
||||
|----------------|--------------|----------|
|
||||
| Botão WhatsApp | 25€ | - |
|
||||
| Chat da Página | 50€ | 50€ |
|
||||
| Pixel Facebook | 25€ | - |
|
||||
| GTM | 25€ | - |
|
||||
| Perguntas Frequentes | 50€ | 45€ |
|
||||
| Testemunhos Internos | 50€ | 45€ |
|
||||
| Testemunhos Google | 50€ | - |
|
||||
| Partilha Redes Sociais | 75€ | 65€ |
|
||||
| Feed Redes Sociais | 50€ | - |
|
||||
|
||||
---
|
||||
|
||||
## Fórmulas de Cálculo
|
||||
|
||||
### Website Simples
|
||||
```
|
||||
Total = Base + Funcionalidades + Conteúdos
|
||||
Anuidade = Anuidade_Base + Anuidades_Funcionalidades
|
||||
```
|
||||
|
||||
### Exemplo: Website Corporativo com Agendamento
|
||||
```
|
||||
CorporateWP: 900€
|
||||
EasyAppointment: 55€ + 120€ = 175€
|
||||
Chat: 50€
|
||||
Pixel + GTM: 50€
|
||||
---------------------------------
|
||||
Subtotal: 1.175€
|
||||
IVA 23%: 270,25€
|
||||
TOTAL: 1.445,25€
|
||||
|
||||
Anuidade: 299€ + 50€ + 50€ = 399€
|
||||
```
|
||||
|
||||
### Exemplo: E-commerce com 50 Produtos
|
||||
```
|
||||
eCommerceWP: 1.100€
|
||||
ShopBuilder (50 prod): 250€
|
||||
Config Pagamento: 50€
|
||||
Config Transportador: 50€
|
||||
CartRecovery: 90€ + 100€ = 190€
|
||||
---------------------------------
|
||||
Subtotal: 1.640€
|
||||
IVA 23%: 377,20€
|
||||
TOTAL: 2.017,20€
|
||||
|
||||
Anuidade: 349€ + 90€ = 439€
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notas Importantes
|
||||
|
||||
1. **IVA**: Todos os valores são líquidos. Acresce IVA 23%.
|
||||
|
||||
2. **Anuidade**: Inclui hosting, SSL, actualizações e suporte básico.
|
||||
|
||||
3. **Pagamento**:
|
||||
- 50% na adjudicação
|
||||
- 50% na entrega
|
||||
|
||||
4. **Validade**: Orçamentos válidos por 30 dias.
|
||||
|
||||
5. **Personalização**: Projectos fora do standard requerem orçamento específico.
|
||||
|
||||
---
|
||||
|
||||
**Descomplicar® Crescimento Digital**
|
||||
NIF: 514 623 168 | descomplicar.pt
|
||||
Última actualização: Janeiro 2025
|
||||
@@ -0,0 +1,171 @@
|
||||
# Template: E-commerce
|
||||
|
||||
## Produto Base
|
||||
|
||||
### eCommerceWP (1.100€ + 349€/ano)
|
||||
Solução completa para lojas online.
|
||||
|
||||
**Incluído:**
|
||||
- Sistema e-commerce completo (WooCommerce)
|
||||
- Até 20 produtos iniciais
|
||||
- Gestão de stock
|
||||
- Pagamentos online básicos
|
||||
- Gestão de entregas
|
||||
- SEO e-commerce
|
||||
- Hosting Premium SSD NVMe (30GB)
|
||||
- SSL E-commerce dedicado
|
||||
- Domínio (.pt ou .com)
|
||||
- Suporte 90 dias
|
||||
|
||||
**Prazo:** 7-9 semanas
|
||||
|
||||
---
|
||||
|
||||
## Configuração de Produtos
|
||||
|
||||
| Item | Valor | Notas |
|
||||
|------|-------|-------|
|
||||
| ShopBuilder | 5€/produto | Inserção de produtos |
|
||||
| Tratamento Imagens | 10€/imagem | Optimização imagens |
|
||||
|
||||
### Pacotes de Produtos
|
||||
|
||||
| Quantidade | Valor | Economia |
|
||||
|------------|-------|----------|
|
||||
| 20 produtos | Incluído | - |
|
||||
| 50 produtos | 150€ | - |
|
||||
| 100 produtos | 280€ | 12% |
|
||||
| 200 produtos | 500€ | 17% |
|
||||
| 500 produtos | 1.000€ | 20% |
|
||||
|
||||
---
|
||||
|
||||
## Funcionalidades E-commerce
|
||||
|
||||
| Funcionalidade | Instalação | Config | Anuidade | Notas |
|
||||
|----------------|------------|--------|----------|-------|
|
||||
| Config Gateway Pagamento | - | 50€ | - | MB Way, Multibanco, Visa |
|
||||
| Config Transportador | - | 50€ | - | CTT, DPD, GLS, etc |
|
||||
| Config Preço Transporte | - | 50€ | - | Regras de portes |
|
||||
| Config Tracking | - | 50€ | - | Por transportador |
|
||||
| Filtros Inteligentes | - | 50€ | - | Filtros de pesquisa |
|
||||
| CommerceMail | 50€ | 50€ | 50€ | Emails automáticos |
|
||||
| CartRecovery | 90€ | 100€ | 90€ | Recuperação carrinhos |
|
||||
| MarketPlace | - | 150€ | - | Multi-vendedor |
|
||||
| Wholesale | - | 150€ | 129€ | Preços B2B |
|
||||
|
||||
---
|
||||
|
||||
## Funcionalidades Adicionais
|
||||
|
||||
### Marketing E-commerce
|
||||
|
||||
| Funcionalidade | Instalação | Config | Anuidade |
|
||||
|----------------|------------|--------|----------|
|
||||
| AutoCRM PRO | 100€ | 75€ | 90€ |
|
||||
| SmartSEO | - | 25€/artigo | - |
|
||||
| Analytics | - | 75€ | - |
|
||||
| Engage | - | 60€ | - |
|
||||
|
||||
### Suporte e Ferramentas
|
||||
|
||||
| Funcionalidade | Config | Anuidade |
|
||||
|----------------|--------|----------|
|
||||
| Chat da Página | 50€ | 50€ |
|
||||
| Botão WhatsApp | 25€ | - |
|
||||
| Pixel Facebook | 25€ | - |
|
||||
| GTM | 25€ | - |
|
||||
| FAQ | 50€ | 45€ |
|
||||
|
||||
---
|
||||
|
||||
## Questões de Personalização
|
||||
|
||||
1. **Número de produtos**: Quantos produtos iniciais?
|
||||
2. **Gateways pagamento**: MB Way? Multibanco? Visa? PayPal?
|
||||
3. **Transportadoras**: CTT? DPD? GLS? Outras?
|
||||
4. **Funcionalidades extras**: Recuperação de carrinhos? Wholesale?
|
||||
5. **Marketplace**: Multi-vendedor?
|
||||
6. **Migração**: Existe loja actual? Dados a migrar?
|
||||
|
||||
---
|
||||
|
||||
## Importação de Dados
|
||||
|
||||
| Tipo | De WP | Outras Fontes |
|
||||
|------|-------|---------------|
|
||||
| Produtos | 35€ | 75€ |
|
||||
| Encomendas | 35€ | 75€ |
|
||||
| Utilizadores | 35€ | 75€ |
|
||||
|
||||
---
|
||||
|
||||
## Exemplos de Orçamento
|
||||
|
||||
### E-commerce Básico (50 produtos)
|
||||
|
||||
```
|
||||
eCommerceWP (base): 1.100€
|
||||
ShopBuilder (30 extra x 5€): 150€
|
||||
Config Pagamento (MB+Visa): 100€
|
||||
Config Transportador (CTT): 50€
|
||||
Pixel Facebook + GTM: 50€
|
||||
-----------------------------------------
|
||||
Subtotal: 1.450€
|
||||
IVA 23%: 333,50€
|
||||
TOTAL: 1.783,50€
|
||||
|
||||
Anuidade: 349€/ano
|
||||
```
|
||||
|
||||
### E-commerce Completo (100 produtos)
|
||||
|
||||
```
|
||||
eCommerceWP (base): 1.100€
|
||||
ShopBuilder (80 extra x 5€): 400€
|
||||
Config Pagamento (3 gateways): 150€
|
||||
Config Transportador (2): 100€
|
||||
Config Tracking (2): 100€
|
||||
CartRecovery (90+100): 190€
|
||||
CommerceMail (50+50): 100€
|
||||
Chat + WhatsApp: 75€
|
||||
Pixel + GTM: 50€
|
||||
-----------------------------------------
|
||||
Subtotal: 2.265€
|
||||
IVA 23%: 520,95€
|
||||
TOTAL: 2.785,95€
|
||||
|
||||
Anuidade: 349€ + 90€ + 50€ = 489€/ano
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Items JSON para API
|
||||
|
||||
### E-commerce Básico
|
||||
```json
|
||||
[
|
||||
{"description": "eCommerceWP - Loja Online Completa", "qty": 1, "rate": 1100, "unit": "un"},
|
||||
{"description": "ShopBuilder - Inserção de Produtos (30 extra)", "qty": 30, "rate": 5, "unit": "un"},
|
||||
{"description": "Configuração Gateway Pagamento (MB+Visa)", "qty": 2, "rate": 50, "unit": "un"},
|
||||
{"description": "Configuração Transportador (CTT)", "qty": 1, "rate": 50, "unit": "un"},
|
||||
{"description": "Pixel Facebook + GTM", "qty": 1, "rate": 50, "unit": "un"},
|
||||
{"description": "Anuidade (hosting + suporte)", "qty": 1, "rate": 349, "unit": "ano"}
|
||||
]
|
||||
```
|
||||
|
||||
### E-commerce Completo
|
||||
```json
|
||||
[
|
||||
{"description": "eCommerceWP - Loja Online Completa", "qty": 1, "rate": 1100, "unit": "un"},
|
||||
{"description": "ShopBuilder - Inserção de Produtos (80 extra)", "qty": 80, "rate": 5, "unit": "un"},
|
||||
{"description": "Configuração Gateways Pagamento", "qty": 3, "rate": 50, "unit": "un"},
|
||||
{"description": "Configuração Transportadoras", "qty": 2, "rate": 50, "unit": "un"},
|
||||
{"description": "Configuração Tracking Portes", "qty": 2, "rate": 50, "unit": "un"},
|
||||
{"description": "CartRecovery - Recuperação de Carrinhos", "qty": 1, "rate": 190, "unit": "un"},
|
||||
{"description": "CommerceMail - Emails Automáticos", "qty": 1, "rate": 100, "unit": "un"},
|
||||
{"description": "Chat da Página + WhatsApp", "qty": 1, "rate": 75, "unit": "un"},
|
||||
{"description": "Pixel Facebook + GTM", "qty": 1, "rate": 50, "unit": "un"},
|
||||
{"description": "Anuidade (hosting + suporte + CartRecovery + CommerceMail)", "qty": 1, "rate": 489, "unit": "ano"}
|
||||
]
|
||||
```
|
||||
@@ -0,0 +1,153 @@
|
||||
# Template: Manutenção
|
||||
|
||||
## Avença Manutenção
|
||||
|
||||
Baseado em orçamentos reais aceites (ex: IGV IgnitionVortex).
|
||||
|
||||
### Manutenção Mensal (150€/mês)
|
||||
|
||||
**Incluído:**
|
||||
- Actualizações WordPress core
|
||||
- Actualizações de plugins
|
||||
- Actualizações de tema
|
||||
- Backups semanais
|
||||
- Monitorização uptime
|
||||
- Suporte técnico (2h/mês)
|
||||
- Relatório mensal
|
||||
|
||||
**Compromisso:** 6 ou 12 meses
|
||||
|
||||
---
|
||||
|
||||
## Variantes
|
||||
|
||||
### Basic (100€/mês)
|
||||
- Actualizações mensais
|
||||
- Backup semanal
|
||||
- Monitorização básica
|
||||
- 1h suporte/mês
|
||||
|
||||
### Standard (150€/mês) - **Recomendado**
|
||||
- Actualizações semanais
|
||||
- Backup diário
|
||||
- Monitorização uptime + performance
|
||||
- Scan malware mensal
|
||||
- 2h suporte/mês
|
||||
|
||||
### Premium (250€/mês)
|
||||
- Actualizações prioritárias
|
||||
- Backup diário + offsite
|
||||
- Monitorização avançada
|
||||
- Segurança proactiva (WAF)
|
||||
- Optimização performance
|
||||
- 4h suporte/mês
|
||||
|
||||
### Enterprise (400€/mês)
|
||||
- Actualizações com staging
|
||||
- Backup contínuo + DR
|
||||
- Monitorização 24/7
|
||||
- Segurança enterprise
|
||||
- CDN incluído
|
||||
- 8h suporte/mês
|
||||
- SLA 4h úteis
|
||||
|
||||
---
|
||||
|
||||
## Funcionalidades de Segurança
|
||||
|
||||
| Funcionalidade | Config | Anuidade |
|
||||
|----------------|--------|----------|
|
||||
| Backup | 50€ | - |
|
||||
| Defender | 50€ | - |
|
||||
| Hideout | 50€ | 50€ |
|
||||
| Speed | 50€ | 50€ |
|
||||
|
||||
---
|
||||
|
||||
## Funcionalidades de Performance
|
||||
|
||||
| Funcionalidade | Config | Anuidade |
|
||||
|----------------|--------|----------|
|
||||
| Speed (CDN) | 50€ | 50€ |
|
||||
| Compress (CloudFlare) | 35€ | - |
|
||||
| PluginManager | 35€ | - |
|
||||
|
||||
---
|
||||
|
||||
## SLA por Variante
|
||||
|
||||
| Variante | Tempo Resposta | Uptime Garantido |
|
||||
|----------|----------------|------------------|
|
||||
| Basic | 48h úteis | 99% |
|
||||
| Standard | 24h úteis | 99.5% |
|
||||
| Premium | 8h úteis | 99.9% |
|
||||
| Enterprise | 4h úteis | 99.95% |
|
||||
|
||||
---
|
||||
|
||||
## Questões de Personalização
|
||||
|
||||
1. **Variante**: Basic, Standard, Premium ou Enterprise?
|
||||
2. **Tipo de site**: Institucional, blog, e-commerce?
|
||||
3. **Criticidade**: Tolerância a downtime?
|
||||
4. **Horas suporte**: Necessidade média mensal?
|
||||
5. **Segurança extra**: WAF? Scan malware?
|
||||
6. **Performance**: CDN necessário?
|
||||
|
||||
---
|
||||
|
||||
## Exemplos de Orçamento
|
||||
|
||||
### Manutenção Standard (6 meses)
|
||||
|
||||
```
|
||||
Manutenção Standard: 150€ x 6 = 900€
|
||||
|
||||
Subtotal: 900€
|
||||
IVA 23%: 207€
|
||||
TOTAL: 1.107€
|
||||
|
||||
Facturação: Mensal antecipada
|
||||
```
|
||||
|
||||
### Website + Manutenção (combo)
|
||||
|
||||
```
|
||||
CorporateWP (base): 900€
|
||||
Manutenção 6 meses: 900€
|
||||
-----------------------------------------
|
||||
Subtotal: 1.800€
|
||||
IVA 23%: 414€
|
||||
TOTAL: 2.214€
|
||||
|
||||
Anuidade: 299€/ano
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Items JSON para API
|
||||
|
||||
### Manutenção Standard (6 meses)
|
||||
```json
|
||||
[
|
||||
{"description": "Manutenção Standard - Website WordPress", "qty": 6, "rate": 150, "unit": "mes"}
|
||||
]
|
||||
```
|
||||
|
||||
### Website + Manutenção (combo)
|
||||
```json
|
||||
[
|
||||
{"description": "CorporateWP - Website Corporativo", "qty": 1, "rate": 900, "unit": "un"},
|
||||
{"description": "Manutenção Standard (6 meses)", "qty": 6, "rate": 150, "unit": "mes"},
|
||||
{"description": "Anuidade (hosting + suporte)", "qty": 1, "rate": 299, "unit": "ano"}
|
||||
]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notas
|
||||
|
||||
- Valores baseados no orçamento ORC-88 (IGV) aceite
|
||||
- Compromisso mínimo recomendado: 6 meses
|
||||
- Horas extra facturadas a 40€/hora
|
||||
- Desenvolvimento/alterações não incluído (60€/hora)
|
||||
@@ -0,0 +1,128 @@
|
||||
# Template: Marketing Digital 360
|
||||
|
||||
## Avença Marketing 360
|
||||
|
||||
Baseado em orçamentos reais aceites (ex: SNT Sintricare).
|
||||
|
||||
### Avença Mensal (459€/mês)
|
||||
|
||||
**Incluído:**
|
||||
- Estratégia de Marketing Digital
|
||||
- Gestão de orçamento e planeamento
|
||||
- Gestão Avançada de Redes Sociais (4 posts/mês)
|
||||
- SEO Avançado
|
||||
- Análise de Desempenho
|
||||
- Relatório Mensal
|
||||
- Reuniões Periódicas
|
||||
- Pack Combinado 360º (até 10h/mês)
|
||||
|
||||
**Compromisso:** 12 meses
|
||||
**Desconto compromisso:** 15% (valor original ~540€/mês)
|
||||
|
||||
---
|
||||
|
||||
## Serviços Adicionais
|
||||
|
||||
### Conteúdo
|
||||
|
||||
| Serviço | Valor |
|
||||
|---------|-------|
|
||||
| Podcast mensal (produção completa) | 150€/mês |
|
||||
| Artigos blog (SEO optimizado) | 25€/artigo |
|
||||
| Posts extra redes sociais | 15€/post |
|
||||
| Copywriting (hora) | 65€/hora |
|
||||
|
||||
### Publicidade
|
||||
|
||||
| Serviço | Valor |
|
||||
|---------|-------|
|
||||
| Gestão Google Ads | 15% do budget (mín. 150€) |
|
||||
| Gestão Meta Ads | 15% do budget (mín. 150€) |
|
||||
| Setup campanhas | 100€/campanha |
|
||||
|
||||
### Email Marketing
|
||||
|
||||
| Serviço | Valor |
|
||||
|---------|-------|
|
||||
| AutoCRM PRO (campanhas) | 175€ setup + 90€/ano |
|
||||
| Newsletter mensal | 60€/envio |
|
||||
|
||||
---
|
||||
|
||||
## Questões de Personalização
|
||||
|
||||
1. **Redes sociais**: Quais plataformas? (Facebook, Instagram, LinkedIn, TikTok)
|
||||
2. **Frequência posts**: 4/mês incluído, mais?
|
||||
3. **Conteúdo**: Podcast? Blog? Vídeos?
|
||||
4. **Publicidade**: Budget para Ads?
|
||||
5. **Email marketing**: Necessário?
|
||||
6. **Horas extra**: Previsão de necessidades além das 10h?
|
||||
|
||||
---
|
||||
|
||||
## Variantes
|
||||
|
||||
### Essential (350€/mês)
|
||||
- Gestão 2 redes sociais
|
||||
- 4 posts/mês
|
||||
- Relatório mensal básico
|
||||
- 5h/mês incluídas
|
||||
|
||||
### Growth (459€/mês) - **Recomendado**
|
||||
- Gestão 3 redes sociais
|
||||
- 8 posts/mês
|
||||
- SEO + Analytics
|
||||
- Relatório detalhado
|
||||
- 10h/mês incluídas
|
||||
|
||||
### Scale (750€/mês)
|
||||
- Gestão omni-channel
|
||||
- 16 posts/mês
|
||||
- Podcast mensal incluído
|
||||
- Campanhas Ads incluídas (gestão)
|
||||
- 20h/mês incluídas
|
||||
|
||||
---
|
||||
|
||||
## Exemplo de Orçamento
|
||||
|
||||
### Marketing 360 Anual (12 meses)
|
||||
|
||||
```
|
||||
Avença Marketing 360: 459€ x 12 = 5.508€
|
||||
|
||||
Subtotal: 5.508€
|
||||
IVA 23%: 1.266,84€
|
||||
TOTAL: 6.774,84€
|
||||
|
||||
Facturação: Mensal antecipada
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Items JSON para API
|
||||
|
||||
### Avença Marketing 360 (mensal)
|
||||
```json
|
||||
[
|
||||
{"description": "Avença 360º Marketing e Comunicação Digital", "qty": 12, "rate": 459, "unit": "mes"}
|
||||
]
|
||||
```
|
||||
|
||||
### Marketing 360 + Website (combo)
|
||||
```json
|
||||
[
|
||||
{"description": "CorporateWP - Website Corporativo", "qty": 1, "rate": 900, "unit": "un"},
|
||||
{"description": "Avença 360º Marketing e Comunicação Digital", "qty": 12, "rate": 459, "unit": "mes"},
|
||||
{"description": "Anuidade (hosting + suporte)", "qty": 1, "rate": 299, "unit": "ano"}
|
||||
]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notas
|
||||
|
||||
- Valores baseados no orçamento ORC-76 (SNT Sintricare) aceite
|
||||
- Compromisso mínimo 12 meses com desconto 15%
|
||||
- Budget de publicidade não incluído nos valores
|
||||
- Horas extra facturadas a 60€/hora (Combi rate)
|
||||
@@ -0,0 +1,180 @@
|
||||
# Template: Website Corporativo
|
||||
|
||||
## Produtos Base
|
||||
|
||||
### StarterWP (700€ + 250€/ano)
|
||||
Para pequenas empresas ou empreendedores.
|
||||
|
||||
**Incluído:**
|
||||
- Até 5 páginas profissionais
|
||||
- Template Premium optimizado
|
||||
- Design responsivo
|
||||
- Formulário de contacto
|
||||
- SEO básico
|
||||
- Hosting Premium SSD NVMe
|
||||
- SSL Let's Encrypt
|
||||
- Domínio (.pt ou .com)
|
||||
|
||||
**Prazo:** 3-5 semanas
|
||||
|
||||
### CorporateWP (900€ + 299€/ano)
|
||||
Para empresas médias e grandes.
|
||||
|
||||
**Incluído:**
|
||||
- Até 10 páginas profissionais
|
||||
- Template Premium personalizado
|
||||
- Design responsivo avançado
|
||||
- Formulários inteligentes
|
||||
- SEO optimizado
|
||||
- Hosting Premium SSD NVMe
|
||||
- SSL Let's Encrypt
|
||||
- Domínio (.pt ou .com)
|
||||
|
||||
**Prazo:** 4-6 semanas
|
||||
|
||||
### CareWP (1.300€ + 350€/ano)
|
||||
Para clínicas e consultórios.
|
||||
|
||||
**Incluído:**
|
||||
- Páginas ilimitadas
|
||||
- Sistema agendamento integrado
|
||||
- Gestão de pacientes
|
||||
- Template especializado saúde
|
||||
- Conformidade RGPD
|
||||
- Hosting Premium SSD NVMe
|
||||
- SSL Healthcare
|
||||
|
||||
**Prazo:** 4-6 semanas
|
||||
|
||||
### ChallengeWP (700€ + 250€/ano)
|
||||
Para websites fora do padrão convencional.
|
||||
|
||||
**Incluído:**
|
||||
- Funcionalidades interactivas
|
||||
- Engajamento de audiência
|
||||
- Template dinâmico
|
||||
- Hosting Premium SSD NVMe
|
||||
|
||||
**Prazo:** 8-10 semanas
|
||||
|
||||
---
|
||||
|
||||
## Funcionalidades Adicionais
|
||||
|
||||
### Gestão
|
||||
|
||||
| Funcionalidade | Instalação | Config | Anuidade |
|
||||
|----------------|------------|--------|----------|
|
||||
| Finance Control | 75€ | 125€ | 75€ |
|
||||
| EasyAppointment (Agendas) | 55€ | 120€ | 50€ |
|
||||
| EasyBooking (Reservas) | 120€ | 30€ | 50€ |
|
||||
| EventManager | 75€ | 90€ | 60€ |
|
||||
| MemberShip | 149€ | 90€ | 100€ |
|
||||
| Support (Tickets) | 90€ | 75€ | 90€ |
|
||||
|
||||
### Marketing
|
||||
|
||||
| Funcionalidade | Instalação | Config | Anuidade |
|
||||
|----------------|------------|--------|----------|
|
||||
| AutoCRM (Autoresponder) | - | 60€ | - |
|
||||
| AutoCRM PRO (Campanhas) | 100€ | 75€ | 90€ |
|
||||
| SmartSEO | - | 25€/artigo | - |
|
||||
| Analytics | - | 75€ | - |
|
||||
| Engage (Forms + auto) | - | 60€ | - |
|
||||
| Forms Simples | - | 35€ | - |
|
||||
| Forms Inteligentes | - | 150€ | - |
|
||||
|
||||
### Conteúdo
|
||||
|
||||
| Funcionalidade | Instalação | Config | Anuidade |
|
||||
|----------------|------------|--------|----------|
|
||||
| AIssistant PRO | 60€ | 50€ | 60€ |
|
||||
| Docs | - | 50€ | 50€ |
|
||||
| PodCaster | - | 50€ | 60€ |
|
||||
| ImageBanker | - | 20€ | - |
|
||||
|
||||
### Design
|
||||
|
||||
| Funcionalidade | Config |
|
||||
|----------------|--------|
|
||||
| MegaMenu | 50€ |
|
||||
| MyLabel (BackOffice) | 100€ |
|
||||
|
||||
### Outras
|
||||
|
||||
| Funcionalidade | Config | Anuidade |
|
||||
|----------------|--------|----------|
|
||||
| Botão WhatsApp | 25€ | - |
|
||||
| Chat da Página | 50€ | 50€ |
|
||||
| Pixel Facebook | 25€ | - |
|
||||
| GTM | 25€ | - |
|
||||
| FAQ | 50€ | 45€ |
|
||||
| Testemunhos Internos | 50€ | 45€ |
|
||||
| Testemunhos Google | 50€ | - |
|
||||
| Partilha Redes | 75€ | 65€ |
|
||||
| Feed Redes | 50€ | - |
|
||||
|
||||
---
|
||||
|
||||
## Criação de Conteúdos
|
||||
|
||||
| Tipo | Criar Página | Produção |
|
||||
|------|--------------|----------|
|
||||
| Artigos | 50€ | 50€ |
|
||||
| Serviços | 50€ | 50€ |
|
||||
| Portfólios | 50€ | 50€ |
|
||||
| Downloads | 50€ | 50€ |
|
||||
|
||||
---
|
||||
|
||||
## Questões de Personalização
|
||||
|
||||
1. **Produto base**: StarterWP, CorporateWP, CareWP ou ChallengeWP?
|
||||
2. **Número de páginas**: Quantas páginas além do incluído?
|
||||
3. **Agendamento**: Precisa de sistema de marcações?
|
||||
4. **Formulários**: Simples ou inteligentes?
|
||||
5. **Integrações**: Redes sociais? Analytics? Chat?
|
||||
6. **Conteúdo**: Cliente fornece ou produção incluída?
|
||||
|
||||
---
|
||||
|
||||
## Exemplo de Orçamento
|
||||
|
||||
### Website Corporativo com Agendamento
|
||||
|
||||
```
|
||||
CorporateWP (base): 900€
|
||||
EasyAppointment (55+120): 175€
|
||||
Chat da Página: 50€
|
||||
Pixel Facebook + GTM: 50€
|
||||
Forms Inteligentes: 150€
|
||||
-----------------------------------------
|
||||
Subtotal: 1.325€
|
||||
IVA 23%: 304,75€
|
||||
TOTAL: 1.629,75€
|
||||
|
||||
Anuidade: 299€ + 50€ + 50€ = 399€/ano
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Items JSON para API
|
||||
|
||||
### StarterWP Base
|
||||
```json
|
||||
[
|
||||
{"description": "StarterWP - Website Profissional", "qty": 1, "rate": 700, "unit": "un"},
|
||||
{"description": "Anuidade (hosting + suporte)", "qty": 1, "rate": 250, "unit": "ano"}
|
||||
]
|
||||
```
|
||||
|
||||
### CorporateWP com Agendamento
|
||||
```json
|
||||
[
|
||||
{"description": "CorporateWP - Portal Corporativo", "qty": 1, "rate": 900, "unit": "un"},
|
||||
{"description": "EasyAppointment - Sistema de Agendamento", "qty": 1, "rate": 175, "unit": "un"},
|
||||
{"description": "Chat da Página", "qty": 1, "rate": 50, "unit": "un"},
|
||||
{"description": "Pixel Facebook + GTM", "qty": 1, "rate": 50, "unit": "un"},
|
||||
{"description": "Anuidade (hosting + suporte + agendamento)", "qty": 1, "rate": 399, "unit": "ano"}
|
||||
]
|
||||
```
|
||||
@@ -0,0 +1,137 @@
|
||||
---
|
||||
name: proposal-deck
|
||||
description: Geracao de apresentacoes PPTX de propostas comerciais profissionais com branding Descomplicar. Integra dados do CRM, tabela de precos e template curado de 16 layouts.
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# Skill /proposal-deck - Apresentacoes de Propostas Comerciais
|
||||
|
||||
Gera apresentacoes PPTX profissionais para propostas comerciais da Descomplicar, usando um template curado com 16 layouts e branding oficial.
|
||||
|
||||
## Triggers
|
||||
|
||||
- `/proposal-deck`
|
||||
- "proposta", "apresentacao cliente", "deck proposta", "proposta comercial", "apresentacao proposta"
|
||||
|
||||
## Quando Usar
|
||||
|
||||
- Preparar apresentacao visual de proposta para reuniao com cliente
|
||||
- Criar deck profissional para acompanhar orcamento/estimate
|
||||
- Gerar proposta completa com branding para envio por email
|
||||
- Complementar `/orcamento` com material visual
|
||||
|
||||
## Quando NAO Usar
|
||||
|
||||
- Para criar orcamento sem apresentacao (usar `/orcamento`)
|
||||
- Para analise estrategica de lead (usar `/lead-approach`)
|
||||
- Para operacoes CRM genericas (usar `/crm-ops`)
|
||||
- Para apresentacoes sem contexto comercial (usar pptx-generator directamente)
|
||||
|
||||
---
|
||||
|
||||
## Template
|
||||
|
||||
**Localizacao:** `/media/ealmeida/Dados/Hub/90-Templates/Comercial/descomplicar-proposal-template.pptx`
|
||||
|
||||
### Layouts Disponiveis (16)
|
||||
|
||||
| # | Nome | Funcao | Quando usar |
|
||||
|---|------|--------|-------------|
|
||||
| 1 | capa | Titulo da proposta + subtitulo + ano | Sempre (obrigatorio) |
|
||||
| 2 | divisor-seccao | Fundo escuro com titulo centrado | Entre seccoes principais |
|
||||
| 3 | sobre-nos | Card texto + imagem lateral | Sempre (quem somos) |
|
||||
| 4 | objectivos | Fundo escuro + objectivos + logo cliente | Sempre (o que vamos resolver) |
|
||||
| 5 | processo-3-passos | 3 colunas douradas com texto | Explicar metodologia |
|
||||
| 6 | fases-3-blocos | 3 blocos numerados verticais | Fases do projecto (3 items) |
|
||||
| 7 | grid-4-cards | Grid 4 cards com icones | Valores, diferenciais, pilares (4 items) |
|
||||
| 8 | beneficios-6 | 6 blocos com icones e setas | Beneficios (6 items) |
|
||||
| 9 | pilares-engrenagens | 4 pilares em engrenagens | Solucao completa (4 pilares) |
|
||||
| 10 | detalhe-servico | Titulo + features list + foto + CTA | Detalhe de um servico/pack |
|
||||
| 11 | deliverables | 4 rows dourados com bullets | Lista deliverables/escopo |
|
||||
| 12 | timeline-etapas | 5 etapas coloridas horizontais | Cronograma/fases com precos |
|
||||
| 13 | pack-pricing | Checklist com preco e foto | Pack/avenca mensal |
|
||||
| 14 | resumo-financeiro | Timeline com precos por fase | Resumo valores total |
|
||||
| 15 | contacto | Foto gestor + dados | Sempre (obrigatorio) |
|
||||
| 16 | encerramento | Lobo + branding nocturno | Sempre (obrigatorio) |
|
||||
|
||||
### Slides Obrigatorios
|
||||
|
||||
Toda proposta inclui **no minimo**: capa (1) + sobre-nos (3) + objectivos (4) + contacto (15) + encerramento (16).
|
||||
|
||||
---
|
||||
|
||||
## Scripts PPTX
|
||||
|
||||
**Base path:** `~/.claude/plugins/marketplaces/descomplicar-plugins/design-media/skills/pptx-generator/scripts/`
|
||||
|
||||
| Script | Funcao |
|
||||
|--------|--------|
|
||||
| `office/unpack.py` | Descompactar PPTX em XML editavel |
|
||||
| `office/pack.py` | Recompactar XML em PPTX valido |
|
||||
| `clean.py` | Limpar XMLs (namespaces, refs orfas) |
|
||||
| `add_slide.py` | Adicionar slides ao XML |
|
||||
| `office/validate.py` | Validar estrutura do PPTX |
|
||||
|
||||
---
|
||||
|
||||
## Protocolo
|
||||
|
||||
### Sintaxe
|
||||
|
||||
```
|
||||
/proposal-deck [cliente] [tipo]
|
||||
```
|
||||
|
||||
**Parametros:**
|
||||
- `cliente` - Nome ou ID do cliente (opcional, sera solicitado se omitido)
|
||||
- `tipo` - Complexidade da proposta (opcional): `minima`, `standard`, `completa`
|
||||
|
||||
### Fase 1: Recolha de Informacao
|
||||
|
||||
1. **Identificar cliente no CRM:**
|
||||
```
|
||||
mcp__desk-crm-v3__search_customers query="[nome]" fields="company,vat"
|
||||
mcp__desk-crm-v3__get_customer customer_id=[id]
|
||||
```
|
||||
|
||||
2. **Verificar orcamentos existentes:**
|
||||
```
|
||||
mcp__desk-crm-v3__get_estimates status="draft" client_id=[id]
|
||||
```
|
||||
|
||||
3. **Consultar tabela de precos** (complementar ao CRM):
|
||||
- Ficheiro: `/media/ealmeida/Dados/GDrive/Cloud/Descomplicar/Servicos/tabela-geral.csv`
|
||||
- CRM (fonte de verdade): `mcp__desk-crm-v3__price_management action="get_pricing_insights"`
|
||||
|
||||
4. **Solicitar dados em falta** (se nao disponiveis no CRM):
|
||||
|
||||
| Campo | Obrigatorio | Default |
|
||||
|-------|:-----------:|---------|
|
||||
| Nome do cliente | Sim | — |
|
||||
| Sector/industria | Sim | — |
|
||||
| Objectivos | Sim | — |
|
||||
| Servicos a propor | Sim | — |
|
||||
| Precos | Sim | CRM |
|
||||
| Prazo estimado | Nao | "a definir" |
|
||||
| Gestor de conta | Nao | Emanuel Almeida |
|
||||
|
||||
### Fase 2: Seleccao de Layouts
|
||||
|
||||
Seleccionar layouts com base na complexidade e servicos propostos.
|
||||
|
||||
#### Proposta Minima (8 slides)
|
||||
Para projectos simples, orcamentos rapidos.
|
||||
|
||||
| Ordem | Layout | Conteudo |
|
||||
|:-----:|--------|----------|
|
||||
| 1 | capa | "Proposta [Servico]" + nome cliente + ano |
|
||||
| 2 | sobre-nos | Apresentacao Descomplicar |
|
||||
| 3 | objectivos | 3-5 objectivos do cliente |
|
||||
| 4 | processo-3-passos | Metodologia de trabalho |
|
||||
| 5 | deliverables | O que esta incluido |
|
||||
| 6 | pack-pricing | Preco + o que inclui |
|
||||
| 7 | contacto | Dados do gestor |
|
||||
| 8 | encerramento | Branding Descomplicar |
|
||||
|
||||
#### Proposta Standard (12 slides)
|
||||
Para projectos
|
||||
@@ -0,0 +1,121 @@
|
||||
---
|
||||
name: proposta-visual
|
||||
description: Criação completa de propostas comerciais visuais — página web (propostas.descomplicar.pt) + PDF exportável + PPTX editável. Recolhe dados CRM, gera JSON, renderiza condicionalmente e faz deploy.
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# Skill /proposta-visual — Propostas Comerciais Visuais
|
||||
|
||||
Cria propostas comerciais profissionais com 3 outputs: página web interactiva, PDF exportável e PPTX editável.
|
||||
|
||||
## Triggers
|
||||
|
||||
- `/proposta-visual`
|
||||
- "proposta visual", "proposta web", "criar proposta", "nova proposta", "proposta para [cliente]"
|
||||
|
||||
## Quando usar
|
||||
|
||||
- Criar proposta comercial completa para um cliente
|
||||
- Gerar página web + PDF + PPTX de uma proposta
|
||||
- Actualizar proposta existente com novos dados
|
||||
|
||||
## Quando NÃO usar
|
||||
|
||||
- Apenas orçamento sem visual (usar `/orcamento`)
|
||||
- Apenas PPTX sem página web (usar `/proposal-deck`)
|
||||
- Análise de lead sem proposta (usar `/lead-approach`)
|
||||
|
||||
---
|
||||
|
||||
## Projecto base
|
||||
|
||||
| Campo | Valor |
|
||||
|-------|-------|
|
||||
| **Código fonte** | `/media/ealmeida/Dados/Dev/Propostas/` |
|
||||
| **Stack** | React 18 + Vite + Tailwind + @react-pdf/renderer + Recharts + Framer Motion + Lucide React |
|
||||
| **Live** | `propostas.descomplicar.pt/{slug}` |
|
||||
| **Deploy** | Docker Swarm EasyPanel, serviço `descomplicar_propostas`, ficheiros `/opt/propostas/` |
|
||||
| **DNS** | `propostas.descomplicar.pt` → 5.9.90.70 (Cloudflare proxied) |
|
||||
| **Template PPTX** | `/media/ealmeida/Dados/Hub/90-Templates/Comercial/descomplicar-proposal-template.pptx` |
|
||||
|
||||
---
|
||||
|
||||
## REGRAS CRÍTICAS (ler antes de qualquer implementação)
|
||||
|
||||
### 1. PT-PT obrigatório — acentos em TODO o texto
|
||||
|
||||
Todos os textos no JSON, componentes web e componentes PDF DEVEM ter acentos PT-PT correctos:
|
||||
- ✓ migração, tradução, integração, opções, condições, execução, acção
|
||||
- ✗ migracao, traducao, integracao, opcoes, condicoes, execucao, accao
|
||||
|
||||
**Verificar no PDF:** labels hardcoded em `PDFWorkDone.jsx` e `PDFDocument.jsx` — já corrigidos mas confirmar sempre.
|
||||
|
||||
### 2. JSON data-driven — renderização condicional obrigatória
|
||||
|
||||
O `ProposalView.jsx` e o `PDFDocument.jsx` renderizam secções **condicionalmente** com base nos dados. Se um campo é `null`, `[]` ou não existe, a secção NÃO aparece.
|
||||
|
||||
**Regra:** NUNCA assumir que todos os campos existem. Cada proposta pode ter um subconjunto diferente de secções.
|
||||
|
||||
| Campo JSON | Secção web | Secção PDF | Condição |
|
||||
|-----------|-----------|-----------|----------|
|
||||
| `context.brandStrategy` | BrandStrategy | PageBrandStrategy | `!= null` |
|
||||
| `salesData` | SalesChart | PageSales | `.length > 0` |
|
||||
| `context.diagnosis` | Context | — | `.length > 0` |
|
||||
| `context.scores` | ScoreGrid | PDFScores | `.length > 0` |
|
||||
| `service360` | Service360 | PageService360 | `!= null` |
|
||||
| `plans` | PricingCards | PDFPricing | `.length > 0` |
|
||||
| `licenses` | LicensePack | PageLicenses | `!= null` |
|
||||
| `workDone` | WorkDone | PDFWorkDone | `.length > 0` |
|
||||
| `roadmap` | Roadmap | PDFWorkDone | `.length > 0` |
|
||||
| `conditions` | Conditions | PDFWorkDone (pág. separada) | `.length > 0` |
|
||||
|
||||
### 3. Título dinâmico — campo `title` no JSON
|
||||
|
||||
O título da proposta (Hero web + capa PDF) vem do campo `title` no JSON:
|
||||
- Proposta 360°: `"title": "Descomplicar 360°"`
|
||||
- Migração técnica: `"title": "Migração Bookeo"`
|
||||
- Website: `"title": "Website Profissional"`
|
||||
- Fallback: `"Proposta Comercial"`
|
||||
|
||||
**NUNCA** hardcodar "Descomplicar 360°" — usar `data.title`.
|
||||
|
||||
### 4. Preços flexíveis — não assumir mensalidades
|
||||
|
||||
Os planos suportam dois formatos de preço:
|
||||
|
||||
**Mensalidade (avença):**
|
||||
```json
|
||||
{
|
||||
"monthly": 459,
|
||||
"hours": 8,
|
||||
"originalPrice": 540,
|
||||
"discount": 15
|
||||
}
|
||||
```
|
||||
Mostra: "459 €/mês" + "8h/mês incluídas · contrato anual"
|
||||
|
||||
**Preço único (investimento):**
|
||||
```json
|
||||
{
|
||||
"price": 750,
|
||||
"priceLabel": "EUR + IVA",
|
||||
"priceSubtitle": "Investimento único · prazo 1-2 semanas",
|
||||
"monthly": null,
|
||||
"hours": null
|
||||
}
|
||||
```
|
||||
Mostra: "750 EUR + IVA" + "Investimento único · prazo 1-2 semanas"
|
||||
|
||||
**Campos usados:** `plan.price ?? plan.monthly` para o valor, `plan.priceLabel ?? "€/mês"` para a unidade, `plan.priceSubtitle` para a descrição abaixo.
|
||||
|
||||
### 5. react-pdf — bugs conhecidos e PROIBIÇÕES
|
||||
|
||||
| Proibição | Porquê | Alternativa |
|
||||
|-----------|--------|-------------|
|
||||
| `gap` + `flexWrap` juntos | Crasha silenciosamente | `marginRight` + `marginBottom` nos items |
|
||||
| `borderColor` com `rgba()` | Renderiza verde | Cor sólida (ex: `#D4A020`, `#E8E8E8`) |
|
||||
| Import de componentes SVG (`<Svg>`, `<Circle>`) | Crasha web worker do PDFDownloadLink | Implementar gráficos inline com `<View>` |
|
||||
| `Font.register` com fontes locais/CDN em multi-página | Falha silenciosa | Usar Helvetica/Helvetica-Bold (built-in) |
|
||||
| `href` vazio no PDFDownloadLink | PDF não gerou — verificar consola | Cache do browser — Ctrl+Shift+R |
|
||||
| `width: "100%"` em bars/elementos dentro de flex container | Não resolve — fica invisível | Usar `alignSelf: "stretch"` no elemento e no container pai |
|
||||
| Imagens com path absoluto (`/home/...`) | react-pdf não acede ao filesystem local | Colocar em `public/assets/` e referenciar como `"assets/foto.png"` (s
|
||||
@@ -0,0 +1,150 @@
|
||||
---
|
||||
name: ticket-manage
|
||||
description: >
|
||||
Gestão completa do ciclo de vida de tickets D2 Suporte: criar com campos correctos, atribuir
|
||||
por prioridade e SLA, escalar quando SLA em risco, fechar com checklist obrigatória. Baseado
|
||||
em PROC-D2-SUP-001 (Atendimento), SUP-002 (Ticketing Workflow) e SUP-003 (SLA Management).
|
||||
Usar para: gestão ticket, SLA check, escalar suporte, fechar ticket, atribuir prioridade.
|
||||
disable-model-invocation: true
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# /ticket-manage v1.0 — Gestão Integrada de Suporte D2
|
||||
|
||||
Workflow completo de gestão de tickets segundo os PROCs D2 Suporte (SUP-001/002/003).
|
||||
Complementa `/ticket` (operações básicas) com gestão de SLA, checklist e escalação automática.
|
||||
|
||||
---
|
||||
|
||||
## Comandos
|
||||
|
||||
| Comando | Função |
|
||||
|---------|--------|
|
||||
| `/ticket-manage` | Dashboard SLA + tickets em risco |
|
||||
| `/ticket-manage new` | Criar ticket com campos correctos |
|
||||
| `/ticket-manage assign <id>` | Atribuir por prioridade e SLA |
|
||||
| `/ticket-manage sla` | Ver estado SLA todos os tickets abertos |
|
||||
| `/ticket-manage escalate <id>` | Escalar com protocolo SUP-001 |
|
||||
| `/ticket-manage close <id>` | Fechar com checklist obrigatória |
|
||||
| `/ticket-manage report` | Relatório semanal SLA (SUP-003) |
|
||||
|
||||
---
|
||||
|
||||
## Prioridades e SLAs (SUP-003)
|
||||
|
||||
| Prioridade | Código | Primeira Resposta | Resolução | Escalação |
|
||||
|------------|--------|-------------------|-----------|-----------|
|
||||
| Crítico | P1 | <1h | <4h | Imediata D7 |
|
||||
| Funcional | P2 | <2h | <24h | Após 12h sem resolução |
|
||||
| Dúvida | P3 | <4h | <48h | Após 24h sem resolução |
|
||||
| Melhoria | P4 | <24h | Próximo sprint | N/A |
|
||||
|
||||
**Mapping Desk CRM:**
|
||||
| Desk Priority ID | Correspondência |
|
||||
|-----------------|----------------|
|
||||
| 4 — Urgente | P1 Crítico |
|
||||
| 3 — Alta | P2 Funcional |
|
||||
| 2 — Normal | P3 Dúvida |
|
||||
| 1 — Baixa | P4 Melhoria |
|
||||
|
||||
---
|
||||
|
||||
## `/ticket-manage` — Dashboard SLA
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_tickets({ status: [1,2,3] })
|
||||
2. Para cada ticket:
|
||||
a. Calcular tempo decorrido desde criação/última resposta
|
||||
b. Comparar com SLA da prioridade
|
||||
c. Classificar: OK / EM RISCO (<25% SLA restante) / VIOLADO (SLA excedido)
|
||||
3. Mostrar dashboard agrupado por estado SLA
|
||||
```
|
||||
|
||||
**Output:**
|
||||
```markdown
|
||||
## 🎫 Dashboard Suporte — [DATA]
|
||||
|
||||
### 🔴 SLA Violado (N)
|
||||
| # | Prioridade | Cliente | Assunto | Há | SLA |
|
||||
|---|-----------|---------|---------|-----|-----|
|
||||
| #234 | P1 Crítico | ClienteA | Downtime servidor | 6h | <4h ❌ |
|
||||
|
||||
### 🟠 Em Risco (<25% restante)
|
||||
| # | Prioridade | Cliente | Assunto | Há | Restante |
|
||||
|---|-----------|---------|---------|-----|---------|
|
||||
| #236 | P2 Funcional | ClienteB | Erro login | 20h | 4h ⚠️ |
|
||||
|
||||
### 🟢 Dentro do SLA
|
||||
| # | Prioridade | Cliente | Assunto | Há |
|
||||
|---|-----------|---------|---------|-----|
|
||||
| #238 | P3 Dúvida | ClienteC | Como configurar X | 2h |
|
||||
|
||||
---
|
||||
**Resumo:** X violados | Y em risco | Z OK | Total: W tickets abertos
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `/ticket-manage new` — Criar Ticket Correcto
|
||||
|
||||
```
|
||||
1. Recolher campos obrigatórios:
|
||||
- Cliente: pesquisar mcp__desk-crm-v3__get_customers({ search: nome }) OU perguntar ID
|
||||
- Assunto: descrever o problema
|
||||
- Descrição completa
|
||||
- Prioridade: perguntar (P1/P2/P3/P4) ou sugerir baseado no assunto
|
||||
- Departamento: 1=Suporte Técnico, 2=Vendas, 3=Facturação, 4=Geral
|
||||
- Origem: Desk CRM, email, WhatsApp
|
||||
|
||||
2. Confirmar antes de criar:
|
||||
"Criar ticket P[X] para [Cliente] — [Assunto]? [Sim/Cancelar]"
|
||||
|
||||
3. mcp__desk-crm-v3__create_ticket({
|
||||
client_id: id,
|
||||
department_id: dept_id,
|
||||
priority: priority_id, // 4=Urgente, 3=Alta, 2=Normal, 1=Baixa
|
||||
subject: assunto,
|
||||
message: "<p>[descrição detalhada]</p><p><strong>Origem:</strong> [origem]</p>"
|
||||
})
|
||||
|
||||
4. Enviar confirmação de recepção ao cliente (se externo):
|
||||
- P1/P2: "Prioridade máxima. Analisando agora. Actualização em 30min/2h."
|
||||
- P3: "Recebemos. Resposta em 4h."
|
||||
- P4: "Registado para próximo sprint."
|
||||
|
||||
5. Output: "Ticket #X criado [P1-Crítico] | SLA: 1h resposta / 4h resolução"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `/ticket-manage assign <id>` — Atribuir por Prioridade
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
|
||||
2. Determinar responsável baseado em categoria:
|
||||
- Técnico (WP, servidor, código) → D7 Tecnologia
|
||||
- Billing, factura → D3 / Emanuel
|
||||
- Comercial, proposta → D1
|
||||
- Geral → Support Specialist (staff_id: 25)
|
||||
3. Se P1: notificar imediatamente (comentário interno + /task urgente)
|
||||
4. Registar atribuição como comentário interno:
|
||||
mcp__desk-crm-v3__reply_ticket({
|
||||
ticket_id: id,
|
||||
message: "<p>Atribuído: [Responsável] | SLA: [prazo] | Prioridade: [P1-P4]</p>",
|
||||
internal: true
|
||||
})
|
||||
5. Output: "Ticket #X atribuído a [Responsável] | SLA expira: [data/hora]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `/ticket-manage sla` — Estado SLA Completo
|
||||
|
||||
```
|
||||
1. Recolher todos tickets abertos (status 1, 2, 3)
|
||||
2. Para cada ticket calcular:
|
||||
- tempo_decorrido = agora - created_at
|
||||
- sla_limite = por prioridade (1h/2h/4h/24h para primeira resposta)
|
||||
- percentagem_usada = tempo_decorrido / sla_limite × 100
|
||||
3. Agrupar: VIOLADO (>100%), EM RISCO (75-100%), OK (<75%)
|
||||
4. Highlight P1 e P2 c
|
||||
@@ -0,0 +1,184 @@
|
||||
---
|
||||
name: ticket-triage
|
||||
description: Auto-processamento de tickets abertos no Desk CRM. Fecha SPAM, identifica facturas para /auto-expense e protege notificações de sistema.
|
||||
disable-model-invocation: true
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# /ticket-triage v1.0
|
||||
|
||||
Auto-processamento de tickets abertos no Desk CRM.
|
||||
|
||||
---
|
||||
|
||||
## Protocolo
|
||||
|
||||
### Passo 1: Recolher tickets abertos
|
||||
|
||||
```
|
||||
mcp__desk-crm-v3__get_tickets({ status: 1, limit: 50 })
|
||||
```
|
||||
|
||||
### Passo 2: Carregar tabela de fornecedores
|
||||
|
||||
```
|
||||
Read: /media/ealmeida/Dados/Hub/06-Operacoes/Documentacao/fornecedores-recorrentes.md
|
||||
Extrair dominios de fornecedores e plataformas multi-fornecedor
|
||||
```
|
||||
|
||||
### Passo 3: Classificar cada ticket
|
||||
|
||||
> Aplicar por ordem de prioridade. Primeiro match ganha.
|
||||
|
||||
```
|
||||
Para cada ticket aberto:
|
||||
|
||||
1. NOTIFICACAO SISTEMA? (verificar PRIMEIRO)
|
||||
Subject contem padrao protegido E remetente conhecido
|
||||
→ NAO fechar. Guardar para "Requer Accao" no output.
|
||||
|
||||
2. DESPESA? (verificar SEGUNDO)
|
||||
Email do remetente contem dominio de fornecedor conhecido
|
||||
Subject contem: payment, pagamento, invoice, factura, recibo, receipt, paid, renewed
|
||||
→ Registar no output como factura para /auto-expense
|
||||
→ Fechar ticket (status 5) com nota "Factura flagged para /auto-expense"
|
||||
|
||||
3. SPAM? (verificar TERCEIRO)
|
||||
→ Fechar (status 5) com motivo
|
||||
|
||||
4. NEWSLETTER/INFORMATIVO?
|
||||
→ Fechar (status 5) com motivo
|
||||
|
||||
5. NENHUM MATCH
|
||||
→ Manter aberto para revisao
|
||||
```
|
||||
|
||||
### Passo 4: Escrever output JSON
|
||||
|
||||
```
|
||||
Escrever em ~/.claude-work/today-tickets-{date}.json:
|
||||
{
|
||||
"spam_fechados": 3,
|
||||
"newsletters_fechadas": 1,
|
||||
"facturas": [
|
||||
{"ticket_id": 456, "fornecedor": "Anthropic", "subject": "Receipt", "sender": "..."}
|
||||
],
|
||||
"notificacoes": [
|
||||
{"ticket_id": 789, "subject": "Security Alert", "sender": "..."}
|
||||
],
|
||||
"mantidos_abertos": 2,
|
||||
"total_processados": 12
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Padroes SPAM (fechar status 5)
|
||||
|
||||
```
|
||||
Keywords no subject (case-insensitive):
|
||||
- Guest Post, SEO services, backlinks, partnership
|
||||
- link building, dofollow, collaboration opportunity
|
||||
- Purchase Order (de desconhecidos)
|
||||
- WeTransfer (phishing), Prestige Awards
|
||||
- lottery, winner, urgent money, bitcoin
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notificacoes de Sistema (NUNCA auto-fechar)
|
||||
|
||||
```
|
||||
Padroes protegidos no subject (case-insensitive):
|
||||
- Legal Update, Legal Notice, Policy Change, Policy Update
|
||||
- Deprecation, End of Life, EOL, Breaking Change
|
||||
- Migration Required, Action Required, Action Needed
|
||||
- Security Alert, Security Advisory, Security Notice
|
||||
- API Change, API Update, Terms Update, Terms Change
|
||||
- Service Disruption, Maintenance Required
|
||||
- Compliance, GDPR, Data Processing
|
||||
- Infrastructure Change, Platform Update, Product Update
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Tickets a Saltar (NAO criar despesa)
|
||||
|
||||
| Tipo | Indicador | Accao |
|
||||
|------|-----------|-------|
|
||||
| Payment Confirmation | "Payment Confirmation" de CWP | Fechar (confirmacao, nao factura) |
|
||||
| Payment Receipt | "Payment Was Successfully Processed" de elasticemail | Fechar (recibo sem dados) |
|
||||
| Notificacao bancaria | "Notificacao de transferencia" de bancobpi | Fechar |
|
||||
| Duplicado | Mesmo subject que ticket ja processado | Fechar como duplicado |
|
||||
|
||||
> **Nota:** Receipts de Anthropic e Canva contem invoice number e valor -> SAO despesas.
|
||||
> "Receipt" so e motivo para saltar quando e apenas confirmacao sem dados de factura.
|
||||
|
||||
---
|
||||
|
||||
## Tickets para ELIMINAR (notificacoes sem valor)
|
||||
|
||||
```
|
||||
Subject contem:
|
||||
- "Your Elastic Email Account was successfully re-charged"
|
||||
- "Account re-charged", "Auto-recharge successful"
|
||||
- "Credit added to your account"
|
||||
- "[BOT] Ativacao realizada com sucesso"
|
||||
|
||||
→ mcp__desk-crm-v3__delete_ticket({ ticket_id: ID, confirm: true })
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Remetentes Conhecidos (whitelist facturas)
|
||||
|
||||
> Ver tabela completa em: Hub/06-Operacoes/Documentacao/fornecedores-recorrentes.md
|
||||
> Verificar pelo DOMINIO do email remetente, nao pelo departamento.
|
||||
|
||||
---
|
||||
|
||||
## Output Standalone
|
||||
|
||||
```markdown
|
||||
## Triagem Tickets - DD-MM-YYYY
|
||||
|
||||
**Total: X tickets processados**
|
||||
|
||||
### SPAM Fechado (Y)
|
||||
- #123 - "Guest Post SEO" - spam@dominio.com
|
||||
|
||||
### Facturas Identificadas (Z)
|
||||
- #456 - "Receipt" - billing@anthropic.com -> /auto-expense
|
||||
|
||||
### Notificacoes Sistema (W)
|
||||
- #789 - "Security Alert" - noreply@n8n.io -> requer accao
|
||||
|
||||
### Mantidos Abertos (N)
|
||||
- #012 - "Pedido de suporte" - cliente@empresa.pt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- NUNCA eliminar tickets de remetentes desconhecidos com facturas
|
||||
- NUNCA fechar notificacoes protegidas automaticamente
|
||||
- NUNCA processar despesas directamente (delegar para /auto-expense)
|
||||
- SEMPRE verificar dominio do remetente na tabela de fornecedores
|
||||
- SEMPRE usar staff_id: 25 (AikTop) nos comentarios
|
||||
|
||||
---
|
||||
|
||||
*Skill v1.0.0 | 04-03-2026 | Descomplicar®*
|
||||
|
||||
---
|
||||
|
||||
## Healing Log
|
||||
|
||||
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
|
||||
|
||||
```jsonl
|
||||
{"date":"","issue":"","fix":"","source":"user|auto"}
|
||||
```
|
||||
|
||||
*Adicionar nova linha após cada erro corrigido.*
|
||||
@@ -0,0 +1,248 @@
|
||||
---
|
||||
name: ticket
|
||||
description: Gestão de tickets de suporte Desk CRM. Ver, responder, fechar e escalar tickets. Inclui templates de resposta e integração com /today.
|
||||
disable-model-invocation: true
|
||||
layer: wiki
|
||||
---
|
||||
|
||||
# /ticket v1.0 - Gestão de Suporte
|
||||
|
||||
Tickets de suporte via Desk CRM: ver, responder, fechar.
|
||||
|
||||
---
|
||||
|
||||
## Comandos
|
||||
|
||||
| Comando | Função |
|
||||
|---------|--------|
|
||||
| `/ticket` | Ver tickets abertos |
|
||||
| `/ticket view <id>` | Ver detalhes |
|
||||
| `/ticket reply <id>` | Responder |
|
||||
| `/ticket close <id>` | Fechar com mensagem |
|
||||
| `/ticket escalate <id>` | Converter em tarefa |
|
||||
| `/ticket create` | Criar ticket interno |
|
||||
|
||||
---
|
||||
|
||||
## Protocolo
|
||||
|
||||
### /ticket (Listar Abertos)
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_tickets({ status: [1,2,3] }) // Aberto, Em Progresso, Respondido
|
||||
2. Ordenar por prioridade, depois por data
|
||||
3. Mostrar lista
|
||||
```
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
## 🎫 Tickets Abertos (4)
|
||||
|
||||
### 🔴 Urgentes
|
||||
| # | Cliente | Assunto | Há |
|
||||
|---|---------|---------|-----|
|
||||
| #234 | TechCorp | Erro crítico login | 2h |
|
||||
|
||||
### 🟠 Alta
|
||||
| # | Cliente | Assunto | Há |
|
||||
|---|---------|---------|-----|
|
||||
| #232 | StartupX | Funcionalidade não funciona | 1d |
|
||||
|
||||
### 🟢 Normal
|
||||
| # | Cliente | Assunto | Há |
|
||||
|---|---------|---------|-----|
|
||||
| #230 | ClienteY | Dúvida facturação | 2d |
|
||||
| #228 | ClienteZ | Pedido alteração | 3d |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /ticket view <id>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
|
||||
2. Mostrar detalhes completos:
|
||||
- Cliente, contacto
|
||||
- Assunto, mensagem original
|
||||
- Histórico de respostas
|
||||
- Anexos
|
||||
```
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
## 🎫 Ticket #234
|
||||
|
||||
### Detalhes
|
||||
- **Cliente:** TechCorp (#45)
|
||||
- **Contacto:** João Silva (joao@techcorp.pt)
|
||||
- **Departamento:** Suporte Técnico
|
||||
- **Prioridade:** 🔴 Urgente
|
||||
- **Status:** Aberto
|
||||
- **Criado:** 2026-02-05 10:30
|
||||
|
||||
### Mensagem
|
||||
> Bom dia, desde esta manhã não consigo fazer login no sistema.
|
||||
> Aparece "Credenciais inválidas" mas a password está correcta.
|
||||
> Urgente pois preciso aceder hoje.
|
||||
|
||||
### Histórico (2)
|
||||
**[2026-02-05 11:00] Staff - Emanuel:**
|
||||
Olá João, vou verificar imediatamente.
|
||||
|
||||
**[2026-02-05 11:15] Cliente - João:**
|
||||
Obrigado, aguardo.
|
||||
|
||||
### Acções
|
||||
- [Responder] [Fechar] [Escalar para tarefa]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /ticket reply <id>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
|
||||
2. Mostrar contexto (última mensagem)
|
||||
3. Pedir resposta ao utilizador
|
||||
4. Formatar em HTML
|
||||
5. mcp__desk-crm-v3__reply_ticket({
|
||||
ticket_id: id,
|
||||
message: resposta_html,
|
||||
status: 3 // Respondido
|
||||
})
|
||||
6. "Resposta enviada. Aguardar resposta cliente? [Sim] ou Fechar? [Fechar]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /ticket close <id>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
|
||||
2. Mostrar contexto
|
||||
3. Pedir mensagem de fecho (opcional)
|
||||
4. mcp__desk-crm-v3__close_ticket({
|
||||
ticket_id: id,
|
||||
message: mensagem_fecho
|
||||
})
|
||||
5. "Ticket #X fechado."
|
||||
```
|
||||
|
||||
**Mensagem de fecho default:**
|
||||
|
||||
```html
|
||||
<p>Ticket resolvido. Obrigado pelo contacto.</p>
|
||||
<p>Se tiver mais questões, não hesite em abrir novo ticket.</p>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /ticket escalate <id>
|
||||
|
||||
```
|
||||
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
|
||||
2. Perguntar projecto destino
|
||||
3. mcp__desk-crm-v3__create_task({
|
||||
name: "Ticket #X: [Assunto]",
|
||||
description: "<h4>Escalado de Ticket #X</h4><p>[conteúdo]</p>",
|
||||
rel_type: "project",
|
||||
rel_id: project_id,
|
||||
priority: 3, // Alta
|
||||
assignees: [25]
|
||||
})
|
||||
4. mcp__desk-crm-v3__reply_ticket({
|
||||
ticket_id: id,
|
||||
message: "<p>Escalado para tarefa interna #Y para resolução.</p>",
|
||||
internal: true // Nota interna
|
||||
})
|
||||
5. mcp__desk-crm-v3__close_ticket({ ticket_id: id })
|
||||
6. "Ticket escalado para tarefa #Y no projecto Z."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### /ticket create
|
||||
|
||||
```
|
||||
1. Perguntar:
|
||||
- Cliente (pesquisar ou ID)
|
||||
- Departamento
|
||||
- Prioridade
|
||||
- Assunto
|
||||
- Mensagem
|
||||
2. mcp__desk-crm-v3__create_ticket({
|
||||
client_id: client_id,
|
||||
department_id: dept_id,
|
||||
priority: prioridade,
|
||||
subject: assunto,
|
||||
message: mensagem_html
|
||||
})
|
||||
3. "Ticket #X criado."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Status Tickets
|
||||
|
||||
| ID | Status | Descrição |
|
||||
|----|--------|-----------|
|
||||
| 1 | Aberto | Novo, aguarda resposta staff |
|
||||
| 2 | Em Progresso | Staff a trabalhar |
|
||||
| 3 | Respondido | Staff respondeu, aguarda cliente |
|
||||
| 4 | Em Espera | Pausado |
|
||||
| 5 | Fechado | Resolvido |
|
||||
|
||||
---
|
||||
|
||||
## Prioridades
|
||||
|
||||
| ID | Prioridade | SLA |
|
||||
|----|------------|-----|
|
||||
| 4 | 🔴 Urgente | <1h |
|
||||
| 3 | 🟠 Alta | <4h |
|
||||
| 2 | 🟡 Normal | <12h |
|
||||
| 1 | 🟢 Baixa | <24h |
|
||||
|
||||
---
|
||||
|
||||
## Departamentos Comuns
|
||||
|
||||
| ID | Departamento |
|
||||
|----|--------------|
|
||||
| 1 | Suporte Técnico |
|
||||
| 2 | Vendas |
|
||||
| 3 | Facturação |
|
||||
| 4 | Geral |
|
||||
|
||||
---
|
||||
|
||||
## Integração /today
|
||||
|
||||
No checkup diário, mostrar tickets:
|
||||
|
||||
```markdown
|
||||
## 🎫 Tickets (3)
|
||||
- 🔴 #234 - Erro login (TechCorp) - 2h
|
||||
- 🟠 #232 - Bug funcionalidade (StartupX) - 1d
|
||||
- 🟢 #230 - Dúvida (ClienteY) - 2d
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Templates de Resposta
|
||||
|
||||
### Resposta Inicial
|
||||
|
||||
```html
|
||||
<p>Olá [Nome],</p>
|
||||
<p>Obrigado pelo contacto. Vou analisar a situação e respondo em breve.</p>
|
||||
<p>Cumprimentos,<br>Emanuel Almeida</p>
|
||||
```
|
||||
|
||||
### Pedido de Informação
|
||||
|
||||
```html
|
||||
<p>Olá [Nome],</p>
|
||||
<p>Para re
|
||||
Reference in New Issue
Block a user