# De cotización a pedido: pruebas para un portal B2B

Nightly Software · Publicado el 5 de octubre de 2026 · Versión 1.0

Ocho **casos sintéticos independientes** para acordar y revisar una demostración con tu proveedor. No son datos de clientes, resultados de un producto ni un importador listo para producción. Reinicia el ejemplo antes de cada fila: B02 no continúa B01, y los conteos de pedidos **no se suman** entre casos. Las reglas comerciales del ejercicio deben adaptarse y aprobarse en tu empresa.

[Descargar CSV](https://nightlysoftware.com/datos/cotizacion-pedido-b2b-ejemplo.csv) · [Guía de cotización a pedido](https://nightlysoftware.com/blog/cotizacion-a-pedido-portal-b2b) · [English instructions](https://nightlysoftware.com/datos/pruebas-portal-b2b-en.md)

## Preparación

Empresa ficticia A, ubicación A-1, producto ITEM-01 y cotización COT-100. La versión v1 pide 10 unidades con la regla LISTA-A-v1; no representa un precio ni una moneda. El comprador aprueba internamente y el proveedor acepta por separado. El pedido confirmado es ORD-100. La operación de confirmación es op-COT100-v1. B08 empieza con esa operación ya confirmada una vez; los otros casos empiezan sin pedido confirmado.

La política del ejemplo permite respetar el precio de una cotización vigente y bloqueada (`HONOR_LOCKED_QUOTE`). No es una regla universal de todos los portales. Si tu política exige recotizar (`REQUOTE`), el cambio de precio debe producir una nueva versión y aprobación; el resultado de B03 cambia. La versión v2 de B02 cambia la cantidad a 12, de modo que la aprobación anterior no cubre la versión nueva. B07 permite surtir parcialmente solo con política y consentimiento explícitos.

El CSV usa UTF-8, comas y booleanos `true`/`false`. Conserva los identificadores como texto. Un campo vacío significa **desconocido o no aplicable**, nunca cero. Las cantidades listas y pendientes solo se especifican para los casos confirmados; no implican que ya hubo despacho, entrega, pago o factura.

## Resultados que debes comprobar

| Caso | Cambio o intento | Estado esperado | Pedidos confirmados al terminar este caso | Evidencia que debes pedir |
| --- | --- | --- | --- | --- |
| B01 | Versión actual, dos aprobaciones y condiciones vigentes | CONFIRMED | 1 | ORD-100 vinculado a v1, actor, fecha y regla de precio. |
| B02 | v2 pide 12; se presenta la aprobación de v1 | STALE_APPROVAL | 0 | Solicitud de aprobación de v2; ninguna confirmación por la aprobación vieja. |
| B03 | Catálogo pasa a LISTA-A-v2; cotización bloqueada sigue vigente | CONFIRMED | 1 | LISTA-A-v1 conservada conforme a la política pactada; cambio no silencioso. |
| B04 | Empresa B intenta leer, aprobar o descargar el documento de A | DENIED | 0 | Denegación en el servidor en las tres acciones; ningún documento o precio de A expuesto. |
| B05 | Comprador aprobó; proveedor todavía no aceptó | AWAITING_SUPPLIER | 0 | Aprobación interna separada de la aceptación; no confirmación, cobro ni reserva implícitos. |
| B06 | Ambas aprobaciones listas; crédito bloqueado | CREDIT_HOLD | 0 | Comprador sin permiso para liberar; revisión del responsable autorizado del proveedor. |
| B07 | Pedido de 10, disponibilidad inmediata de 8 y parcial autorizado | CONFIRMED | 1 | 8 listas y 2 pendientes visibles; cantidad total 10, sin afirmar entrega completa. |
| B08 | Se repite op-COT100-v1 ya confirmada | CONFIRMED | 1 | Se devuelve el mismo ORD-100 sin otro pedido, apartado o cobro. |

B04 contiene tres acciones a probar por separado: lectura, aprobación y descarga. Ocultar botones no demuestra aislamiento; prueba el enlace directo y la petición con un usuario sin permiso. B08 requiere deduplicación soportada y una clave estable. Si el sistema no ofrece ese mecanismo, no lo des por aprobado con solo un folio en una bitácora.

## Excepciones adicionales

- **Respuesta desconocida:** ante un timeout, el número de pedidos no se sabe hasta consultar y conciliar. Déjalo vacío/desconocido, no cero. No repitas una creación a ciegas.
- **Cotización vencida:** detén la confirmación y aplica la renovación o recotización acordada. Las aprobaciones anteriores no anulan la vigencia.
- **Permiso revocado:** el siguiente intento de leer, aprobar o descargar debe rechazarse aunque la sesión siga abierta. Valida empresa, ubicación, documento y acción en el servidor.
- **Parcial sin consentimiento:** si faltan dos unidades y no hay política y consentimiento aprobados, retén o revisa el pedido. No cambies 10 a 8 sin avisar.
- **Liberar crédito:** la revisión autorizada no garantiza confirmación automática: vuelve a validar vigencia, versión, permisos, precio y disponibilidad.

El bloqueo de crédito es una condición comercial ficticia. Este material no establece criterios financieros de elegibilidad, condiciones legales, obligaciones fiscales ni un método de evaluación crediticia.

## Cómo registrar la demostración

Para cada intento conserva caso, entorno y versión, actor/rol, regla aprobada, resultado observado, documento/operación devueltos y evidencia sin secretos. Marca aprobado solo cuando el proveedor haya ejecutado la acción y la excepción en el entorno que recibirás. Este paquete describe resultados esperados; no certifica a Nightly ni a otro producto. No uses documentos reales de clientes o credenciales para una demostración pública.

[Plantilla de alcance](https://nightlysoftware.com/como-trabajamos#plantilla-alcance) · [Diagnóstico gratuito](https://nightlysoftware.com/agendar)
