Plugins: automacao, crm-ops, design-media, dev-tools, gestao, infraestrutura, marketing, negocio, perfex-dev, project-manager, wordpress + hello-plugin (existente). Totais: 83 skills, 44 agents, 12 datasets.json Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.8 KiB
6.8 KiB
name, description, author, version, quality_score, user_invocable, desk_task, allowed-tools
| name | description | author | version | quality_score | user_invocable | desk_task | allowed-tools |
|---|---|---|---|---|---|---|---|
| billing-check | Billing verification and invoice validation. Checks billing accuracy, matches invoices with contracts. Use when user mentions "billing check", "invoice verification", "billing audit", "payment verification", "billing validation". | Descomplicar® Crescimento Digital | 2.0.0 | 75 | true | 1464 | ToolSearch |
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)
-- 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
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
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
INSERT INTO billing_360_sync (sync_date, invoices_added, status, details)
VALUES (NOW(), ?, 'success', ?)
CÁLCULO DE SALDO
O dashboard calcula automaticamente:
// 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
## 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
- Adicionar à tabela
billing_360_clients - Obter
moloni_customer_idvia pesquisa - Definir
monthly_hoursdo 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 ↔ Moloni
Dashboard: https://plan-eal.descomplicar.pt Versão: 2.0.0 | Autor: Descomplicar®
Quando NÃO Usar
- Para tarefas fora do domínio de especialização desta skill
- Quando outra skill mais específica está disponível
- Para operações que requerem aprovação manual obrigatória
- Quando os requisitos não estão claramente definidos
Protocolo de Execução
-
Análise Inicial
- Verificar requisitos e contexto
- Identificar ferramentas necessárias
-
Preparação
- Validar acesso a recursos
- Preparar ambiente de trabalho
-
Execução
- Executar operações de forma incremental
- Validar cada passo antes de prosseguir
-
Validação
- Verificar resultados obtidos
- Confirmar sucesso da operação
-
Conclusão
- Documentar alterações realizadas
- Reportar status final e próximos passos
Exemplos de Uso
Exemplo 1: Caso Básico
User: [requisição simples relacionada com billing-check]
Skill: [execução directa com validação]
Output: [resultado conciso e accionável]
Exemplo 2: Caso Complexo
User: [requisição multi-passo ou complexa]
Skill:
1. Análise dos requisitos
2. Planeamento da abordagem
3. Execução faseada
4. Validação contínua
Output: [resultado detalhado com próximos passos]
Exemplo 3: Caso com Dependências
User: [requisição que depende de outros sistemas]
Skill:
1. Verificar dependências disponíveis
2. Coordenar com skills/MCPs necessários
3. Executar workflow integrado
Output: [resultado completo com referências]