PDF-010G - B2B Commercial Price Rules Approval¶
Fecha: 2026-06-23
Estado: CONFIRMACION COMERCIAL DOCUMENTAL / REGLAS B2B APROBADAS / SIN RUNTIME / SIN WRITES
portal_visible = yes
Scope: tenant
tenant_id: alpuntodeventa
Destino funcional: SOURCE-001 Clientes + SOURCE-002 Productos -> WooCommerce La Directa
Owner: Gabi / Carlos Canu
A. SAFE POINT inicial¶
| Control | Resultado |
|---|---|
git status --short |
repo limpio |
git rev-parse HEAD |
979c9196e90fa6f1a29c4b5b0f5fb84b3bee709d |
git rev-parse origin/main |
979c9196e90fa6f1a29c4b5b0f5fb84b3bee709d |
git log -1 --oneline |
979c919 docs: add pdf-010f b2b commercial pricing design |
Safe point esperado confirmado:
HEADcoincide con979c9196e90fa6f1a29c4b5b0f5fb84b3bee709d.origin/maincoincide con979c9196e90fa6f1a29c4b5b0f5fb84b3bee709d.- repo limpio al inicio.
- ultimo commit esperado confirmado.
Alcance de esta tarea:
- documentar aprobacion comercial explicita de reglas B2B;
- no ejecutar runtime;
- no tocar WooCommerce API;
- no tocar PostgreSQL;
- no ejecutar SQL;
- no ejecutar sync;
- no crear clientes;
- no crear productos;
- no modificar precios;
- no hacer deploy, push ni commit.
B. Documentacion leida¶
Documentacion base revisada:
docs/tenants/alpuntodeventa/business-observer/production/PDF-010A-B2B-PRICE-LISTS-CUSTOMER-SYNC-CONTRACT.mddocs/tenants/alpuntodeventa/business-observer/production/PDF-010B-B2B-PRICE-LIST-AUTHORITY-READ-ONLY-VALIDATION.mddocs/tenants/alpuntodeventa/business-observer/production/PDF-010D-SOURCE-001-VCLIENTES-READ-ONLY-SNAPSHOT.mddocs/tenants/alpuntodeventa/business-observer/production/PDF-010E-B2B-CUSTOMER-PRICE-DRY-RUN.mddocs/tenants/alpuntodeventa/business-observer/production/PDF-010F-B2B-COMMERCIAL-PRICE-RULES-SERVER-SIDE-PRICING-DESIGN.mddocs/tenants/alpuntodeventa/business-observer/production/README.mddocs/PROJECT-STATE.mddocs/ROADMAP.mddocs/governance/ACTIVE-CONTEXT.mdmkdocs.yml
C. Decision Lista_Precio -> PrecioL1..PrecioL9¶
Veredicto: APPROVED_FOR_B2B_RUNTIME_DESIGN / NOT_IMPLEMENTED.
Queda aprobada documentalmente la correspondencia comercial:
Lista_Precio SOURCE-001 |
price_list_code aprobado |
Campo SOURCE-002 aprobado | Estado |
|---|---|---|---|
1 |
L1 |
PrecioL1 |
APPROVED |
2 |
L2 |
PrecioL2 |
APPROVED |
3 |
L3 |
PrecioL3 |
APPROVED |
4 |
L4 |
PrecioL4 |
APPROVED |
5 |
L5 |
PrecioL5 |
APPROVED |
6 |
L6 |
PrecioL6 |
APPROVED |
7 |
L7 |
PrecioL7 |
APPROVED |
8 |
L8 |
PrecioL8 |
APPROVED |
9 |
L9 |
PrecioL9 |
APPROVED |
Base de evidencia:
PDF-010Dcerro el catalogo real deLista_Preciocomo1..9, sin clientes sin lista y sin valores fuera de rango.PDF-010Evalido offline queSOURCE-002exponePrecioL1..PrecioL9y que la simulacion cliente/lista/SKU/precio es tecnicamente posible.PDF-010Fdejo la equivalencia tecnica lista para confirmacion comercial.- Este documento transforma el estado de
PENDING_BUSINESS_CONFIRMATIONaAPPROVEDpara diseno B2B futuro.
D. Decision precio publico/default¶
Veredicto: PrecioListaFinal AS PUBLIC_DEFAULT_APPROVED.
Regla aprobada:
| Contexto | Precio aplicable | Estado |
|---|---|---|
| visitante no logueado | regular_price vigente WooCommerce |
APPROVED |
fuente de regular_price vigente |
PrecioListaFinal |
APPROVED |
PrecioL1 como precio publico/default |
no aprobado | NOT_APPROVED |
Decisiones:
- visitante no logueado usa el
regular_pricevigente de WooCommerce; - el
regular_pricevigente queda respaldado porPrecioListaFinal; PrecioL1no queda aprobado como precio publico/default;PrecioL1solo aplica a clientes B2B conLista_Precio = 1;- no migrar
regular_priceaPrecioL1salvo nueva confirmacion comercial explicita.
E. Reglas B2B aprobadas¶
Reglas aprobadas para implementacion futura, aun no ejecutada:
| Caso | Regla aprobada |
|---|---|
| visitante no logueado | usar regular_price vigente respaldado por PrecioListaFinal |
| cliente logueado activo con mapping valido | resolver lista asignada y aplicar PrecioLn correspondiente |
Lista_Precio = 1 |
aplicar PrecioL1 como precio B2B del cliente |
Lista_Precio = 2 |
aplicar PrecioL2 como precio B2B del cliente |
Lista_Precio = 3 |
aplicar PrecioL3 como precio B2B del cliente |
Lista_Precio = 4 |
aplicar PrecioL4 como precio B2B del cliente |
Lista_Precio = 5 |
aplicar PrecioL5 como precio B2B del cliente |
Lista_Precio = 6 |
aplicar PrecioL6 como precio B2B del cliente |
Lista_Precio = 7 |
aplicar PrecioL7 como precio B2B del cliente |
Lista_Precio = 8 |
aplicar PrecioL8 como precio B2B del cliente |
Lista_Precio = 9 |
aplicar PrecioL9 como precio B2B del cliente |
| carrito | recalcular precios server-side con la lista vigente del cliente |
| checkout | recalcular server-side antes de crear la orden |
| orden | guardar lista y precio aplicado por linea |
Metadata minima aprobada para orden/linea:
skusgc_customer_ido referencia interna no sensibleprice_list_codeapplied_priceregular_price_referencepricing_modesource_hasho referencia de fuentecalculated_atpricing_status
Regla de autoridad:
- PostgreSQL/OpenClaw debe ser autoridad de listas multiples, vigencia, mapping, hash y auditoria.
- WooCommerce puede almacenar el precio efectivo cobrado y metadata minima.
- WooCommerce no debe ser fuente maestra de
PrecioL1..PrecioL9.
F. Reglas pendientes o bloqueadas¶
Pendientes para gates futuros:
| Tema | Estado | Regla |
|---|---|---|
| implementacion runtime WooCommerce | PENDING_IMPLEMENTATION_GATE |
requiere gate separado |
matching wc_customer_id -> sgc_customer_id |
PENDING_DESIGN_AND_DRY_RUN |
no crear clientes en este gate |
| clientes sin matching Woo/SGC | BLOCKED_CUSTOMER_MAPPING |
no aplicar precio B2B |
| clientes suspendidos o de baja | BLOCKED_CUSTOMER_STATUS |
no vender B2B salvo aprobacion futura |
lista fuera de 1..9 |
BLOCKED_PRICE_LIST |
no inventar mapeo |
SKU sin precio de lista o precio <= 0 |
BLOCKED_PRICE_MISSING |
no reemplazar por regular_price sin autorizacion |
| fallback para cliente sin lista | BLOCKED_PRICE_LIST |
fallback solo con aprobacion comercial futura |
| deploy, sync, scheduler, cron o pipeline | BLOCKED |
requiere gate posterior explicito |
G. Impacto documental¶
Este documento cambia el estado comercial de:
Lista_Precio 1..9 -> PrecioL1..PrecioL9: dePENDING_BUSINESS_CONFIRMATIONaAPPROVED;- precio publico/default:
de
PrecioListaFinal recomendadoaPrecioListaFinal APPROVED; PrecioL1como default publico: permaneceNOT_APPROVED.
No cambia:
- productos WooCommerce;
- clientes WooCommerce;
- precios reales en WooCommerce;
- datos PostgreSQL;
- jobs, sync, scheduler, cron o pipelines;
- runtime de carrito, checkout u orden.
H. Validaciones requeridas¶
Validaciones de cierre de este gate:
git diff --check.\.venv-portal\Scripts\mkdocs.exe build --strict
I. Estado final Git¶
Estado esperado al cierre:
- cambios documentales locales sin commit;
- sin push;
- sin deploy.
J. Recomendacion de commit¶
Si la revision humana aprueba este gate documental, commit sugerido:
docs: add pdf-010g b2b commercial price rules approval
No hacer commit sin autorizacion posterior.
K. Proximo paso recomendado¶
Abrir gate separado de diseno/implementacion B2B runtime sin writes iniciales:
- disenar matching
wc_customer_id -> sgc_customer_idsin crear clientes; - preparar dry-run de catalogo, carrito y checkout con las reglas aprobadas;
- definir hook/plugin WooCommerce o capa headless para recalculo server-side;
- validar orden con metadata de lista y precio aplicado;
- ejecutar cualquier write solo con autorizacion posterior explicita.
L. Restricciones preservadas¶
Durante este gate:
- no se toco WooCommerce API;
- no se toco PostgreSQL;
- no se ejecuto SQL;
- no se leyo ni publico
.env; - no se imprimieron secretos;
- no se ejecuto sync;
- no se crearon clientes;
- no se crearon productos;
- no se modificaron precios;
- no se activo scheduler, cron ni pipeline;
- no se hizo push;
- no se hizo deploy;
- no se hizo commit.