# Spec 043 — Tasks ## Documentação - [x] Spec índice `spec.md` - [x] Contrato `activation-field-mapping.md` - [x] Contrato API `desk-activate-account-api.md` - [x] Ligações cruzadas specs 023/024/028/035 - [x] Registo em `SPEC-REGISTRY.md` ## Fase 1 — Desk preview UI - [x] `GET /billing/accounts/{id}/activation-preview` - [x] Botão **Activar conta** em `billing-ui.js` (só roles autorizados) - [x] Modal confirmação com 3 colunas FOSS / OpenPanel / Odoo - [ ] Deploy VM122 + validação Roger ## Fase 2 — FOSS client + order - [ ] `foss_client.create_client()` conforme mapa §4 - [ ] `foss_client.create_order()` + activate hosting - [ ] Custom fields FOSS: `ligbox_domain`, `manager_name`, `manager_email` - [ ] Persistir `external_customer_id` ## Fase 3 — OpenPanel - [ ] Confirmar fluxo via módulo FOSS vs bridge directo - [ ] Metadata JSON mail no user hub - [ ] Persistir `openpanel_username` em `company_profile_json` ## Fase 4 — Odoo empresa - [ ] `odoo_client.upsert_customer_partner()` conforme mapa §6 - [ ] Coluna `odoo_partner_id` em `billing_accounts` - [ ] Deep-link Odoo na ficha cliente ## Fase 5 — Wizard mail-bundle - [ ] `POST /billing/accounts/{id}/activate` com `provision_mail` - [ ] Webhook `order-activated` alinhado com [035](../035-ligbox-mail-bundles-foss-openpanel/spec.md) ## Fase 6 — Testes E2E - [ ] Domínio teste: wizard → company.validated → activate → FOSS+OP+Odoo - [ ] Idempotência retry - [ ] RBAC NOC mascarado