Adaptto × Dorel Juvenile · Documento para el equipo de TI Adaptto × Dorel Juvenile · Document for the IT team

Integración con Dynamics AX Dynamics AX integration

Adaptto · 5 de agosto de 2026 · Dynamics AX 2012 R2, on-premise Adaptto · 5 August 2026 · Dynamics AX 2012 R2, on-premise

El área comercial nos pidió confirmar con ustedes la factibilidad técnica antes de cerrar el alcance. Estamos construyendo una plataforma que lee los pedidos que hoy llegan por correo y otros canales y los deja como borrador en Dynamics AX, para que el equipo comercial solo revise y confirme — en vez de digitar línea por línea. The commercial team asked us to confirm technical feasibility with you before scope is closed. We're building a platform that reads the orders arriving today by email and other channels and leaves them as a draft in Dynamics AX, so the commercial team only reviews and confirms — instead of keying in line by line.

Lo que necesitamos de ustedesWhat we need from you

El resto — catálogo, stock, clientes, precios — ya lo tenemos por archivo. No necesitamos que construyan nada para eso. Everything else — catalog, stock, customers, prices — we already hold as files. We don't need you to build anything for that.

  1. Qué necesitamos del ERPWhat we need from the ERPseguro / potencialdefinite / potential
  2. Qué necesitamos definir con ustedesWhat we need to settle with you
  3. Anexo: qué estamos construyendoAppendix: what we're buildingel flujo, para contextothe flow, for context

01Qué necesitamos del ERPWhat we need from the ERP

Separado en dos: lo que el sistema necesita sí o sí para funcionar, y lo que depende de qué exista hoy de su lado. Split in two: what the system needs no matter what, and what depends on what already exists on your side.

A Definitivo — sin esto no hay V1Definite — no V1 without this

Es una sola cosa. El catálogo, el stock y el maestro de clientes ya los tenemos por archivo, así que lo único que realmente necesitamos del ERP es poder escribir. It's one thing. We already hold the catalog, stock and customer master as files, so the only thing we genuinely need from the ERP is the ability to write.

NecesidadNeed Dir.Dir. DetalleDetail
Pedido de venta en borradorSales order as draft ESCRIBIRWRITE Cabecera (cliente, bodega, fecha, canal) + líneas (SKU, cantidad, precio unitario), en estado borrador. Es la pieza crítica de todo el proyecto y la única que no podemos resolver por nuestra cuenta.Header (client, warehouse, date, channel) + lines (SKU, quantity, unit price), in draft status. The critical piece of the whole project, and the only one we cannot solve on our own.
Los identificadores correctosThe right identifiers CONFIRMARCONFIRM ¿Los códigos de SKU y de cliente que ya tenemos en los exports que nos compartieron son los mismos que espera el servicio de escritura? Si el ERP usa una clave interna distinta, necesitamos el mapeo. Es una pregunta chica que, mal resuelta, rompe todas las escrituras.Are the SKU and customer codes we already hold from the exports you shared the same ones the write service expects? If the ERP uses a different internal key, we need the mapping. A small question that breaks every write if it's wrong.

B Potencial — mejoraría el resultado, no bloquea V1Potential — would improve the result, doesn't block V1

Todo esto lo podemos resolver con archivos. La pregunta en cada caso es si ya existe un servicio que valga la pena consumir en vez de cargar archivos — preferimos reutilizar antes que construir, y antes que pedirles trabajo nuevo.All of this we can solve with files. In each case the question is whether a service already exists that's worth consuming instead of uploading files — we'd rather reuse than build, and rather than ask you for new work.

TemaTopic Cómo lo resolvemos hoy / qué preguntamosHow we solve it today / what we're asking
¿AX tiene estructuras de precio propias?Does AX hold its own price structures?
acuerdos comerciales, listas por cliente, escalas por volumentrade agreements, per-client lists, volume tiers
La más importante de esta sección. El precio mayorista se gestiona hoy en Excel, fuera de todo sistema, y Adaptto lo va a recibir por carga de archivo. Si AX además tiene precios propios, hay dos fuentes de verdad y necesitamos acordar cuál manda antes de escribir el pedido — si no, el borrador puede quedar mal valorizado.The most important one in this section. The wholesale price is managed in Excel today, outside any system, and Adaptto will receive it by file upload. If AX also holds prices, there are two sources of truth and we need to agree which governs before writing the order — otherwise the draft can be mis-valued.
Catálogo, stock y maestro de clientesCatalog, stock and customer master Ya los tenemos: el export de inventario que nos compartieron cubre el catálogo y el stock por bodega, y el export de pedidos cubre los clientes. Con carga periódica de archivos V1 funciona. La pregunta: nos indicaron que ya existe un endpoint de consulta de stock y un feed XML de producto/precio (mismo patrón que BlueXpress) — ¿conviene consumirlos en vez de cargar archivos? ¿Protocolo, autenticación, frecuencia, tiempo real o cacheado?We already have these: the inventory export you shared covers catalog and per-warehouse stock, and the order export covers customers. V1 works on periodic file uploads. The question: we're told a stock-consultation endpoint and a product/price XML feed already exist (same pattern as BlueXpress) — is it worth consuming those instead of uploading files? Protocol, authentication, frequency, real-time or cached?
Actualización diaria de stockDaily stock refresh ¿Existe ya una exportación programada que podamos consumir, o habría que construirla? Un archivo diario nos sirve; no necesitamos tiempo real para V1.Is there already a scheduled export we can consume, or would it need building? A daily file is enough; we don't need real time for V1.
Imágenes de producto (Shopify)Product images (Shopify)
fase 2phase 2
Entendemos que la sincronización de fotos de Shopify hacia Quotiza existe pero está rota para la mayoría de los SKUs, y que hoy se vuelven a subir a mano. ¿Es un problema del lado de Shopify o de Quotiza? ¿Y sería viable que leamos las imágenes directamente desde la API de Shopify, en vez de reparar esa sincronización?We understand the Shopify→Quotiza photo sync exists but is broken for most SKUs, and that photos are re-uploaded manually today. Is that a Shopify-side or a Quotiza-side problem? And would it be viable for us to read the images directly from Shopify's API, rather than repairing that sync?
Precios de plan comercial (infanti.cl)Commercial-plan prices (infanti.cl)
fase 2phase 2
Nos indican que el sitio refleja al día las decisiones de precio. Si expone API o feed, sería la vía más limpia para ese nivel de precio.We're told the site reflects pricing decisions up to date. If it exposes an API or feed, that's the cleanest source for that price tier.

02Qué necesitamos definir con ustedesWhat we need to settle with you

Tres cosas, en orden de importancia: cómo nos conectamos, cómo escribimos el borrador, y bajo qué condiciones de acceso y seguridad. Three things, in order of importance: how we connect, how we write the draft, and under what access and security conditions.

2.1 · Cómo trabajaríamos: el camino de integración2.1 · How we would work: the integration path

Hasta donde entendemos hay tres caminos posibles. No asumimos cuál es el correcto — es una decisión suya.As far as we understand there are three possible paths. We're not assuming which is right — that's your call.

Opción AOption A
Middleware (capa ecommerce)Middleware (ecommerce layer)
Comunicación completa con el ERP: stock, precios, catálogo, imágenes. Ya existe y funciona.Full ERP communication: stock, prices, catalog, images. Already exists and works.
Sirve para leer, no para escribir. Procesa la venta como pagada automáticamente, incompatible con el requisito de borrador.Works for reading, not writing. Auto-processes the sale as paid, incompatible with the draft requirement.
Opción BOption B
Endpoint SOAP directo de AXDirect AX SOAP endpoint
La superficie nativa de integración de AX. Correcta para inyectar el pedido como borrador.AX's native integration surface. Correct for injecting the order as a draft.
Es el camino para escribir — pero nos indicaron que el servicio específico habría que construirlo. Ver 2.2.This is the write path — but we're told the specific service would need building. See 2.2.
Opción COption C
HíbridoHybrid
Middleware para las consultas (stock, catálogo, imágenes) y endpoint SOAP directo solo para la escritura del borrador.Middleware for queries (stock, catalog, images) and the direct SOAP endpoint only for the draft write.
Es la que nos parece más probable, porque reutiliza lo que ya existe y limita lo nuevo a la escritura. Confirmarlo nos permite dimensionar una sola vez.The one that seems most likely to us, since it reuses what exists and limits new work to the write. Confirming it lets us size once.
Y la pregunta que envuelve a las tres:And the question wrapping all three: AX está on-premise y nuestra plataforma es externa. ¿Cuál es el camino de red previsto? ¿VPN sitio a sitio, endpoint publicado con whitelist de IP, proxy inverso, o un conector/agente alojado por ustedes? Es, junto con 2.2, lo que más condiciona el plazo. AX is on-premise and our platform is external. What is the intended network path? Site-to-site VPN, published endpoint with IP whitelist, reverse proxy, or a connector/agent hosted by you? Along with 2.2, this is what most drives the timeline.

2.2 · Cómo se escribe el borrador2.2 · How the draft gets written

A.3¿Cuál es el estado exacto en AX que corresponde a "digitado"?What is the exact AX state that corresponds to "digitado"?
Qué combinación de campos deja el pedido visible para el equipo comercial pero sin confirmar, sin reservar stock, sin facturar y sin despachar. Sin un estado nombrado explícitamente no hay forma de acordar qué significa "funciona" — es el criterio de aceptación de todo el proyecto.Which field combination leaves the order visible to the commercial team but unconfirmed, unreserved, uninvoiced and undispatched. Without an explicitly named state there is no way to agree what "it works" means — it is the acceptance criterion for the entire project.
A.2¿Sirve el servicio estándar de pedido de venta de AX, o hay que construir uno nuevo?Does AX's standard sales-order service work, or must a new one be built?
Entendemos que AIF es la vía estándar de integración de AX 2012 R2 y que incluye un servicio de documento para pedidos de venta. Nos indicaron que habría que construir un servicio nuevo — nos gustaría entender por qué el estándar no sirve: ¿está deshabilitado, no cubre el caso, o es política interna? Si sirviera con configuración, se evitarían semanas de desarrollo de su lado.We understand AIF is the standard integration route for AX 2012 R2 and includes a sales-order document service. We're told a new service would need building — we'd like to understand why the standard one doesn't work: disabled, doesn't cover the case, or internal policy? If it worked with configuration, it would save weeks of development on your side.
A.4¿Crear un pedido por servicio dispara algo aguas abajo?Does creating an order via service trigger anything downstream?
Concretamente: reserva de stock, chequeo de crédito, recálculo de precio, envío a WMS/BlueXpress, o cualquier paso de facturación. Es exactamente el problema que descarta el middleware, y necesitamos confirmar que la vía SOAP no tiene efectos equivalentes.Specifically: stock reservation, credit check, price recalculation, WMS/BlueXpress push, or any invoicing step. This is exactly the problem that rules out the middleware, and we need to confirm the SOAP path has no equivalent side effects.
E.1Si hay que construir ese servicio: ¿quién lo construye, con qué estimación, y en qué lugar de la cola queda?If that service must be built: who builds it, with what estimate, and where does it sit in the queue?
Es la mayor incógnita de cronograma del proyecto y está fuera de nuestro control. Nuestro plan de dos meses hasta producción asume que está disponible alrededor de la semana 3-4.This is the project's biggest schedule unknown and it is outside our control. Our two-month plan to production assumes it is available around week 3-4.
A.5 / A.6¿Idempotencia y errores parciales?Idempotency and partial failures?
¿Podemos enviar un identificador externo propio para que un reintento no genere un pedido duplicado? Y si un pedido de 24 líneas tiene 3 inválidas, ¿el servicio rechaza todo o crea parcialmente?Can we send our own external identifier so a retry doesn't create a duplicate order? And if a 24-line order has 3 invalid lines, does the service reject everything or create partially?
A.8El tope de 24 líneas, ¿es restricción de AX o política de negocio?Is the 24-line cap an AX constraint or a business policy?
Si hay que dividir el pedido, ¿existe forma de vincular los pedidos resultantes como una sola orden lógica?If the order must be split, is there a way to link the resulting orders as one logical order?

2.3 · Accesos, ambientes y seguridad2.3 · Access, environments and security

Si solo hay tiempo para responder tres:If there's only time to answer three: A.3 (el estado que significa "digitado"), A.2 + E.1 (si sirve el servicio estándar y, si no, quién construye el nuevo y cuándo), y el camino de red al AX on-premise. Las tres determinan si el proyecto es viable como está planteado. Con gusto lo vemos en una llamada técnica de 45-60 minutos si resulta más rápido que responder por escrito. A.3 (the state that means "digitado"), A.2 + E.1 (whether the standard service works and, if not, who builds the new one and when), and the network path to the on-prem AX. These three determine whether the project is viable as scoped. Happy to cover it in a 45-60 minute technical call if that's faster than answering in writing.

ANEXOAPPENDIXQué estamos construyendoWhat we're building

Una plataforma que recibe los pedidos que hoy llegan por correo y otros canales, los interpreta, y los deja como borrador en Dynamics AX para que el equipo comercial solo revise y confirme. Hoy ese paso se hace digitando línea por línea. A platform that receives the orders arriving today by email and other channels, interprets them, and leaves them as a draft in Dynamics AX for the commercial team to review and confirm. Today that step is done by keying in line by line.

EntradaInput
CorreoEmail
Quotiza
Duty Free (fase 2)Duty Free (phase 2)
Plataforma AdapttoAdaptto platform
01
Recepción e identificaciónIntake & identify
Detecta qué correos son pedidos y extrae las líneas desde PDF, Excel, imagen o texto.Detects which emails are orders and extracts line items from PDF, Excel, image or text.
02
EmparejamientoMatching
Resuelve el cliente y cada línea contra el catálogo cargado en la plataforma.Resolves the client and each line against the catalog loaded into the platform.
archivofile
03
ValidaciónValidation
Verifica stock y precio contra los datos cargados; aplica la regla de 24 líneas.Checks stock and price against the loaded data; applies the 24-line rule.
archivofile
04
Revisión humanaHuman review
El equipo comercial revisa y confirma. Sin este paso no se escribe nada.The commercial team reviews and confirms. Nothing is written without this step.
05
Escritura del borradorDraft write
Crea el pedido de venta en AX en estado borrador.Creates the sales order in AX in draft status.
ERP
Sistema de registroSystem of record
Dynamics AX 2012 R2
on-premiseon-premise

Un solo punto de contacto: la escritura del paso 05. A single touchpoint: the step 05 write.

Los pasos 02 y 03 corren contra datos cargados en la plataforma, no contra llamadas en vivo al ERP. Si conviene reemplazarlos por el endpoint de stock o el feed XML que ya existen de su lado es una pregunta abierta — ver sección 01 B — pero nada de V1 depende de eso. Steps 02 and 03 run against data loaded into the platform, not live ERP calls. Whether they're better served by the stock endpoint or XML feed that already exist on your side is an open question — see section 01 B — but nothing in V1 depends on it.

La única restricción dura:The one hard constraint: el pedido debe quedar digitado — visible en AX para el equipo comercial, pero no facturado y no despachado. Esto es lo que descarta la vía del middleware de ecommerce, que procesa la venta como pagada automáticamente. the order must land as a draft — visible in AX to the commercial team, but not invoiced and not dispatched. This is what rules out the ecommerce middleware path, which auto-processes the sale as paid.