El CRM de vendedores es una aplicación de una sola página en React respaldada por un backend multi-tenant en Symfony. Cada vendedor es un tenant de nivel superior; cada sucursal —tienda física, almacén regional— es una entidad hija dentro de ese tenant. La seguridad a nivel de fila de PostgreSQL garantiza el aislamiento entre tenants, de modo que un vendedor de un tenant no puede leer el inventario de otro, y el índice de búsqueda de cara al comprador es consciente de los tenants, por lo que el comprador ve un conjunto de resultados unificado sin llegar a ver nunca la frontera entre tenants. La recepción de mercancías, el inventario por ubicación, los precios, la verificación de contrapartes y los flujos de pedidos viven por sucursal y se consolidan en un panel de todo el tenant, de modo que un vendedor con tiendas en varias ciudades ve una vista coherente.
La verificación de contrapartes da al operador una posición defendible sobre quién puede vender en el marketplace. El CRM ingiere documentos mercantiles durante el alta del vendedor, los pasa por una cola de verificación (prueba de vida del documento, análisis de caducidad, confianza del OCR) con una fase de revisión humana y escribe una pista de auditoría inmutable por vendedor. Los registros se conservan según los requisitos de la normativa mercantil local —distinta en California, en Países Bajos o en el Reino Unido— y se cifran en reposo con rotación de claves. Toda la superficie del vendedor se entrega como parte de nuestra práctica de desarrollo de software a medida.