Manual Técnico Servicio Web SAG®

Área Depto. I+D+i Ambiente Producción
Fecha Actualización 10-06-2024 Administrador Camilo Palacio

Objetivo

Integrar diferentes sistemas de información como carritos de compra, sitios web, aplicaciones móviles, páginas web, entre otros, ofreciendo a los clientes la facilidad de tener toda su información sincronizada con el sistema SAG® ERP.

Descripción

El Servicio Web SAG® permite integrar el SAG® ERP con otros aplicativos, en tiempo real y de una manera fácil y segura, por SOAP. El Servicio Web SAG® siempre le entrega al usuario una respuesta a la petición, ya sea positiva o negativa.

URL

La URL del servicio para consumir por SOAP es:

https://wssagpya.azurewebsites.net/ServiceSagWeb.svc?wsdl

El token de prueba para el servicio es: t0k3n1

Métodos

consultaSagXml() - consultaSagJson() - consultaSagJson2()

Permiten consultar cualquier información almacenada en la base de datos del SAG® ERP...

Descripción

Permiten consultar cualquier información almacenada en la base de datos del SAG® ERP. Con estos métodos se podrá; por ejemplo, consultar la lista de precios y/o existencias de los productos, para cargar en el carrito de compras o también consultar la cartera de los clientes para un aplicativo móvil. La diferencia entre los métodos es la siguiente:

Ejemplos de uso:

Diferencias entre los métodos:

Ejemplo de Entrada / Salida (consultaSagJson)

Entrada:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                        xmlns:tem="http://tempuri.org/">
        <soapenv:Header/>
        <soapenv:Body>
          <tem:consultaSagJson>
            <tem:a_s_token>t0k3n1</tem:a_s_token>
            <tem:a_s_consulta>SELECT TOP 10 n_nit AS Documento, sc_nombre AS Nombre FROM v_clientes</tem:a_s_consulta>
          </tem:consultaSagJson>
        </soapenv:Body>
        </soapenv:Envelope>

Respuesta JSON:

[
        {"Documento":102043531,"Nombre":"CINDY JOHANA ATEHORTUA"},
        {"Documento":1036779941,"Nombre":"LUZ MERCEDES LOPEZ MEJIA"},
        {"Documento":1040740897,"Nombre":"MONICA MARIA MOSQUERA CORDOBA"},
        {"Documento":890900938,"Nombre":"CORPORACION EDUCATIVA COLOMBO BRITANICO"},
        {"Documento":999,"Nombre":"VENTAS DE CONTADO"},
        {"Documento":890900840,"Nombre":"CAJA DE COMPENSACION FAMILIAR CAMACOL"},
        {"Documento":890900842,"Nombre":"CAJA DE COMPENSACION COMFENALCO"},
        {"Documento":890900841,"Nombre":"CAJA DE COMPENSACION COMFAMA"},
        {"Documento":112842385,"Nombre":"PORRAS CASTAÑO LINA MARCELA"},
        {"Documento":15264230,"Nombre":"ANDRES ALBERTO GONZALEZ GUERRA"}
      ]

Respuesta XML (consultaSagXml):

<NewDataSet>
        <Consultas>
          <Documento>102043531</Documento>
          <Nombre>CINDY JOHANA ATEHORTUA</Nombre>
        </Consultas>
        <Consultas>
          <Documento>1036779941</Documento>
          <Nombre>LUZ MERCEDES LOPEZ MEJIA</Nombre>
        </Consultas>
        <Consultas>
          <Documento>1040740897</Documento>
          <Nombre>MONICA MARIA MOSQUERA CORDOBA</Nombre>
        </Consultas>
      </NewDataSet>

Método insercionSag()

Este método se utiliza para grabar o actualizar maestros y documentos en el sistema SAG® ERP. Por ejemplo: crear clientes, pedidos, facturas, artículos, entre otros.

La salida dependerá de cómo se consuma el servicio (XML o JSON).

Entrada / Salida

Entrada Salida
  • a_s_token
  • a_s_tipo
  • a_s_xml
XML

Ejemplo de petición XML (SOAP)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                        xmlns:tem="http://tempuri.org/">
        <soapenv:Header/>
        <soapenv:Body>
          <tem:insercionSag>
            <tem:a_s_token>t0k3n1</tem:a_s_token>
            <tem:a_s_tipo>1</tem:a_s_tipo>
            <tem:a_s_xml><clientes><cliente ... /></clientes></tem:a_s_xml>
          </tem:insercionSag>
        </soapenv:Body>
      </soapenv:Envelope>

Parámetros de Entrada

Parámetro Descripción Tipo Obligatorio Ejemplo
a_s_token Token de Seguridad asignado por P&A String t0k3n1
a_s_tipo Tipo de acción definida por PYA String 1
a_s_xml Cadena XML con los datos a grabar String <clientes>...</clientes>

Tipos disponibles para a_s_tipo

Tipo Descripción Procedimiento almacenado
1 Crear clientes sp_grabar_cliente_xml
2 Crear documentos (pedidos, facturas, pagos de contado) sp_grabar_documento_xml
3 Crear terceros sp_act_datos_tercero_xml
4 Actualizar terceros sp_grabar_proveedor_xml
5 Crear artículos sp_grabar_articulo_basico_xml
6 Recibos de caja, egresos o movimiento contable sp_grabar_movimientos_referencias_xml
28 Crear documentos de cualquier tipo sp_web_grabar_documento

Ejemplo de Respuesta (insercionSag)

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
        <s:Body>
          <insercionSagResponse xmlns="http://tempuri.org/">
            <insercionSagResult 
                xmlns:a="http://schemas.datacontract.org/2004/07/ws.logica.general" 
                xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
              <a:clsGenerales>
                <a:s_estado>OK</a:s_estado>
                <a:s_fuente i:nil="true"/>
                <a:s_identificador i:nil="true"/>
                <a:s_l_movimiento i:nil="true"/>
                <a:s_mensaje>DOCUMENTO CREADO CORRECTAMENTE</a:s_mensaje>
                <a:s_num_documento i:nil="true"/>
              </a:clsGenerales>
            </insercionSagResult>
          </insercionSagResponse>
        </s:Body>
      </s:Envelope>

Parámetros de Respuesta

Parámetro Descripción
s_estado Estado de la operación. Puede ser OK o FALLIDO
s_fuente Código de la fuente asociada al documento
s_identificador Identificador interno del registro
s_l_movimiento Lista o detalle del movimiento
s_mensaje Mensaje descriptivo de la operación (éxito o error)
s_num_documento Número del documento creado

Estructura XML para Crear Clientes (Tipo 1)

Este XML debe enviarse como valor del campo a_s_xml cuando a_s_tipo = 1.

Nodo/Atributo Descripción Tipo Obligatorio Ejemplo
<clientes> Contenedor principal de los clientes Contenedor
<cliente> Contenedor de los datos de un cliente Contenedor
actividadComercial Actividad Comercial según maestro de SAG® String PAPELERÍA
codigoDaneCiudad Código o nombre de ciudad (según DANE) String 05003
Naturaleza J = Jurídica / N = Natural String J
tipoDocumento Tipo de documento (A, C, N, etc.) String A
Documento Número de identificación del cliente Numeric 890900300
digitoVerificacion Dígito de verificación (si aplica) Numeric No 2
Nombre Razón social o nombre completo String ALMACÉN JJ S.A.S.
direccion Dirección del cliente String Diag. 75c # 32 e 68
tipoTercero Tipo de contribuyente (C, S, G, etc.) String C
telefonoPpal Teléfono principal String +57 4 4486859
telefonoAlterno Teléfono Alterno String No +57 4 3123213323
email Email del cliente String ventas@pya.com.co
activoFijo Debe enviarse siempre como “N” String N
formaPago Forma de pago según maestro String CONTADO
zona Zona comercial del cliente String MEDELLIN Y AREA METROPOLITANA
retenedor ¿Es agente de retención? (S/N) String S
iva ¿Está sujeto a IVA? (S/N) String S
activoComercial ¿Reportado a centrales de riesgo? (S/N) String S
activo Estado del cliente (S/N) String S
tipoCliente Clasificación del cliente String No E-COMMERCE
comisionVentas % de comisión por ventas Numeric No 0
comisionCobros % de Comisión por Recaudo Numeric Si 0
descuento % de Descuento Comercial fijo Numeric Si 0
descuentoPp % de Descuento Pronto Pago fijo Numeric Si 0
precioVenta Lista de precios (0 = ninguna) String 1
reteFuente Código de la Retención en la Fuente por defecto que aplica el Cliente String No V1
otraRetencion Código del ReteCREE por defecto que aplica String No
claseClienteNiff Clasificación del Cliente para NIIF String No RIESGO I
nitVendedor Cédula del Vendedor asignado String No 70100100
cupoMaximo Límite de crédito autorizado Numeric 999999999
Nodo/Atributo Descripción Tipo Obligatorio Ejemplo
apellido1 Primer Apellido del Cliente (si es Persona Natural) String No López
apellido2 Segundo Apellido del Cliente (si es Persona Natural) String No Ortiz
nombre1 Primer Nombre del Cliente (si es Persona Natural) String No Juan
nombre2 Segundo Nombre del Cliente (si es Persona Natural) String No José
codigoPostal Código Postal (Zip Code) String No 050030
habeasData Marca que indica si aceptó tratamiento de datos personales (S/N) String No S
centroCosto Código del centro de costo ligado al cliente String No 01
generafacelectronica Marca que indica si maneja factura electrónica (S/N) String No S
emailFacElectronica Email que recibe la factura electrónica String No compras@pya.com.co
responsabilidadFiscal Código de la responsabilidad fiscal del cliente String No R-99-PN
fechaAproboFacElectronica Fecha de aprobación de la factura electrónica Date No 2024-01-15

Validaciones del sistema al crear clientes

Al procesar el XML de creación de clientes, el sistema realiza las siguientes validaciones:

Errores comunes

Código Mensaje Descripción
FALLIDO EL CLIENTE YA EXISTE Se está intentando insertar un cliente con NIT ya registrado.
FALLIDO CIUDAD NO EXISTE El código de ciudad enviado no se encuentra en el maestro de ciudades.
FALLIDO CAMPOS OBLIGATORIOS VACÍOS Uno o más campos requeridos están vacíos o mal formateados.
FALLIDO TIPO DE CLIENTE INVÁLIDO El tipo de cliente enviado no existe en la configuración.
FALLIDO TIPO DE DOCUMENTO INVÁLIDO El tipo de documento no está configurado o es incorrecto.

Ejemplo de respuesta con error

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
        <s:Body>
          <insercionSagResponse xmlns="http://tempuri.org/">
            <insercionSagResult xmlns:a="http://schemas.datacontract.org/2004/07/ws.logica.general"
                                xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
              <a:clsGenerales>
                <a:s_estado>FALLIDO</a:s_estado>
                <a:s_mensaje>EL CLIENTE YA EXISTE</a:s_mensaje>
                <a:s_identificador i:nil="true"/>
                <a:s_num_documento i:nil="true"/>
              </a:clsGenerales>
            </insercionSagResult>
          </insercionSagResponse>
        </s:Body>
      </s:Envelope>

Ejemplo XML - Crear Cliente

<clientes>
        <cliente
          actividadComercial="SECTOR PUBLICO"
          codigoDaneCiudad="MEDELLIN"
          naturaleza="J"
          tipoDocumento="A"
          documento="811040859"
          digitoVerificacion="2"
          nombre="PyA Soluciones Integradas SAS"
          direccion="Diag. 75c # 32 e 68"
          tipoTercero="J"
          telefonoPpal="4486859"
          email="info@pya.com.co"
          activoFijo="N"
          formaPago="CONTADO"
          zona="MEDELLIN Y AREA METROPOLITANA"
          retenedor="S"
          iva="S"
          activoComercial="S"
          activo="S"
          tipoCliente="E-COMMERCE"
          comisionVentas="0"
          comisionCobros="0"
          descuento="0"
          descuentoPp="0"
          precioVenta="1"
          cupoMaximo="999999999"
          apellido1=""
          apellido2=""
          nombre1=""
          nombre2=""/>
      </clientes>

Estructura XML para Grabar Pedidos, Facturas o Pagos de Contado (Tipo 2)

El XML debe ser enviado en el campo a_s_xml del método insercionSag() con a_s_tipo = 2.

Nodo Descripción Tipo Oblig Ejemplo
<Movimientos> Contiene todos los Documentos a crear
<movimiento> Contiene los datos de un Documento en particular
movimientoId Número Interno del Documento Numeric 213012
fecha Fecha del Documento. Formato YYYY/MM/DD Date 2020/04/30
n_numero_documento Número del Documento. Si llega en 0 el SAG® asigna el consecutivo siguiente Numeric 0
num_doc Número 2 String No OC-400
fuente Código de la Fuente String PD
clase_comprobante Clase de Comprobante, si aplica String No PED
nit NIT del cliente/proveedor al que se le realiza el documento Numeric 10202455
centroCosto Centro de Costos String No 04
prefijo Prefijo del Documento, si aplica String No 02
ciudadEntrega Ciudad de Entrega del Pedido String No Cali
direccionEntrega Dirección de Entrega del Pedido String No Calle 25 # 12-29
observaciones Observaciones del Documento String No Dejar en Portería
moneda Moneda de Negociación String No PESOS
trm TRM Numeric No 1
pedido Número del Pedido/OC del Cliente o Proveedor String No OC-201
remision Número de Remisión String No RM-112
beneficiario Nombre del Beneficiario String No Juan Pérez
usuario Login del Usuario logueado. Debe estar creado en SAG® String WTORO
nd_comision_ventas % de Comisión sobre Ventas Numeric No 3.50
fechaVencimiento Fecha de Vencimiento de la Factura o Entrega del Pedido (YYYY/MM/DD) Datetime No 2020/05/31
diasPp1 Número de días para aplicar el % de Descuento PP Numeric No 10
fechaPp1 Fecha para aplicar el descuento PP1 Date No 2020/05/31
descuentoPp1 % de Descuento PP Numeric No 5.00
diasPp2 Número de días para aplicar el 2° Descuento PP Numeric No 20
fechaPp2 Fecha para aplicar el descuento PP2 Date No 2020/05/31
descuentoPp2 % del 2° Descuento PP Numeric No 3.00
diasPp3 Número de días para aplicar el 3er Descuento PP Numeric No 30
fechaPp3 Fecha para aplicar el descuento PP3 Date No 2020/05/31
descuentoPp3 % del 3er Descuento PP Numeric No 1.00
codCausalNota Código de la Causal de Nota Crédito (obligatorio si la Fuente es tipo NC o BD) VarChar No 01
ka_ni_forma_pago Consecutivo interno de la forma de pago Integer No 1
ss_otros Código Sucursal del Cliente (debe iniciar por !) String No !1
sc_impreso Indicador si el documento fue impreso (S/N) Char No N
sc_generado Indicador si fue generado automáticamente (S/N) Char No N
sc_remision Indicador si es una Remisión (S/N) Char No N
sc_facturado Indicador si fue facturado (S/N) Char No N
sc_avisar Indicador si fue modificado manualmente por contabilidad (S/N) Char No N
sc_autorizacion Indicador si está autorizado (S/N) Char No N
ss_gps_latitud Latitud para georreferenciación Numeric No 36
ss_gps_longitud Longitud para georreferenciación Numeric No 55
ka_nl_tipo_retencion Consecutivo interno del tipo de retención Integer No 1
ka_ni_zona Consecutivo interno de la zona Integer No 1
sc_cuotas Indica si la factura es por cuotas (S/N) Char No N
nd_porc_retefte_manual % de retención para empleados Numeric No
nd_valor_retefte_manual Valor $ de retención para empleados Numeric No
ka_nl_reteica Consecutivo interno del ReteICA (identity) Integer No 1
ka_nl_otra_retencion Consecutivo interno de otra retención (identity) Integer No 1
RealizarCommit Indica si se realiza el Commit en la BD al grabar el Documento (S/N) Char S
cuenta_banco Código Contable de la Cuenta de Caja/Banco (para pagos de contado) String No 110505
<movimientoDetalle> Inicio del nodo interno del detalle (item) del movimiento <Movimientos> <movimiento


<movimientoDetalle

> </movimiento>
</Movimientos>
movimientoId Número Interno del Documento Numeric 213012
movimientoDetalleId Consecutivo del Ítem Numeric 1
sc_cual_precio Lista de Precios a Tomar. 1..8 String No 1
codigoArticulo Código del Artículo String 2002
talla Talla String No L
color Color String No NG
cantidad Cantidad Pedida Numeric 6
valorUnitario Valor Unitario antes de IVA. Puede ser -9999999 para usar costo promedio Numeric 15000
iva % de IVA Numeric 19
descuento % de Descuento Comercial Numeric 5
tipoComponente Tipo de componente (Solo para explosión de insumos) String No P / C
descuento2 % de 2° Descuento Comercial Numeric 0
nd_cantidad_und_com Cantidad Unidad de Compra x Mayor. Ej: Docena. Opcional Numeric No 5
nd_valor_und_com Valor Unitario Unidad de Compra x Mayor. Opcional. Numeric No 200000
detalleAdicional Detalle adicional x Ítem String No ASESORÍA PRESENCIAL
fechaEntrega Fecha de Entrega Estimada Datetime No 2020/06/15
bodega Código de la Bodega String 01
lote Número de Lote o Serial String No AB3545R
k_sc_centro_costo_item Código del Centro de Costo del Ítem String No 005
nit_det NIT del Tercero asociado al Ítem (para Pagos de Contado) Numeric No 70100100
<movimientosOtrosDatos> Inicio del nodo interno de los mas datos del movimiento <Movimientos> <movimiento


<movimientosOtrosDatos

> </movimiento>
</Movimientos>
ss_usuario_autoriza Datos del usuario que autorizó el documento String No 70100100-Juan Pérez
nd_consecutivo_copia Número de la copia Numeric No
ss_transportador Datos del Transportador String No TCC
ss_modo_transporte Modo o medio de transporte String No Terrestre
ss_identificacion_transporte ID del Transportador String No
nd_vlr_declarado Valor de la mercancía declarada Numeric No
sc_autorizacion_precios Indicador de si se autorizó un precio especial (S/N) Char No N
ss_usuario_autoriza_precios Datos del usuario que autorizó el precio especial String No 70100100-Juan Pérez
ddt_fecha_autorizacion_precios Fecha-Hora en la que se autorizó un precio especial Date No 2020/05/31
ddt_fecha_autorizacion Fecha-Hora en la que se autorizó el documento Date No 2020/05/31
ka_nl_cirujano Consecutivo interno del Cirujano Integer No
ddt_fecha_avisar Fecha-Hora en que se modificó el documento por Contabilidad Date No
ka_nl_proyecto Consecutivo interno del Proyecto de Inversión (identity) Integer No 1
cod_proyecto Código del Proyecto de Inversión String No
sc_enviado_wms Indicador de si el documento ya fue enviado al WMS (S/N) Char No N
ka_nl_flujo_caja_mov Consecutivo interno del Flujo de Caja Integer No 1
ss_nro_radicado_gd Número del radicado en el sistema de Gestión Documental String No
ka_nl_causal Código interno de la Causal de Devolución (identity) Integer No 1
ka_nl_causal2 Código interno de la Causal de Devolución 2 (identity) Integer No 1

Ejemplo XML para Pedidos

<Movimientos>
        <movimiento
          movimientoId="1"
          fuente="PD"
          n_numero_documento="0"
          fecha="2020-10-07"
          d_fecha_documento="2020-10-07"
          nit="811040859"
          observaciones="Prueba Integración SAG -PEDIDOS-"
          moneda="PESOS"
          trm="0"
          remision=""
          ss_otros="!12"
          fechaVencimiento="2020-10-07"
          ka_ni_forma_pago="1"
          ciudadEntrega="MEDELLÍN"
          direccionEntrega="Calle 100 22-44"
          vendedor="70100200"
          usuario="WTORO"
          RealizarCommit="S">
      
          <movimientosOtrosDatos
            movimientoId="1"
            ss_dato1="" />
      
          <movimientoDetalle
            movimientoDetalleId="1"
            movimientoId="1"
            codigoArticulo="001"
            cantidad="1"
            valorUnitario="10000"
            iva="19"
            descuento="0"
            descuento2="0"
            bodega="01" />
      
          <movimientoDetalle
            movimientoDetalleId="2"
            movimientoId="1"
            codigoArticulo="002"
            cantidad="1"
            valorUnitario="20000"
            iva="19"
            descuento="0"
            descuento2="0"
            bodega="01" />
      
        </movimiento>
      </Movimientos>

Ejemplo XML para Facturas de Venta

<Movimientos>
        <movimiento
          movimientoId="1"
          fuente="FV"
          n_numero_documento="0"
          fecha="2020-10-07"
          d_fecha_documento="2020-10-07"
          nit="811040859"
          observaciones="Prueba Integración SAG -FACTURA DE VENTA-"
          moneda="PESOS"
          trm="0"
          centroCosto="01"
          pedido="PD-100"
          remision=""
          ss_otros="!12"
          fechaVencimiento="2020-10-07"
          ka_ni_forma_pago="1"
          vendedor="70100200"
          ka_ni_zona="1"
          usuario="WTORO"
          RealizarCommit="S">
      
          <movimientosOtrosDatos
            movimientoId="1"
            ss_dato1="" />
      
          <movimientoDetalle
            movimientoDetalleId="1"
            movimientoId="1"
            codigoArticulo="001"
            cantidad="1"
            valorUnitario="1000"
            iva="19"
            descuento="0"
            descuento2="0"
            bodega="01" />
      
          <movimientoDetalle
            movimientoDetalleId="2"
            movimientoId="1"
            codigoArticulo="002"
            cantidad="1"
            valorUnitario="20000"
            iva="19"
            descuento="0"
            descuento2="0"
            bodega="01" />
      
        </movimiento>
      </Movimientos>

Ejemplo XML para Facturas de Compra y Gastos Causados

<Movimientos>
        <movimiento
          movimientoId="1"
          fuente="FC"
          n_numero_documento="0"
          num_doc="FR-3424"
          fecha="2020-10-07"
          d_fecha_documento="2020-10-07"
          nit="811040859"
          observaciones="Prueba Integración SAG -FACTURA DE COMPRA-"
          moneda="PESOS"
          trm="0"
          centroCosto="01"
          pedido="OC-100"
          remision=""
          ss_otros=""
          fechaVencimiento="2020-10-07"
          ka_ni_forma_pago="1"
          usuario="WTORO"
          RealizarCommit="S">
      
          <movimientosOtrosDatos
            movimientoId="1"
            ss_dato1=""/>
      
          <movimientoDetalle
            movimientoDetalleId="1"
            movimientoId="1"
            codigoArticulo="001"
            cantidad="1"
            valorUnitario="1000"
            iva="19"
            descuento="0"
            descuento2="0"
            bodega="01"/>
      
          <movimientoDetalle
            movimientoDetalleId="2"
            movimientoId="1"
            codigoArticulo="002"
            cantidad="1"
            valorUnitario="20000"
            iva="19"
            descuento="0"
            descuento2="0"
            bodega="01"/>
      
        </movimiento>
      </Movimientos>

Ejemplo XML para Pagos de Contado

<Movimientos>
        <movimiento
          movimientoId="1"
          fuente="CM"
          n_numero_documento="0"
          fecha="2020-10-07"
          d_fecha_documento="2020-10-07"
          nit="811040859"
          observaciones="Prueba Integración SAG -PAGOS DE CONTADO-"
          moneda="PESOS"
          trm="0"
          pedido=""
          remision=""
          ss_otros=""
          fechaVencimiento="2020-10-07"
          ka_ni_forma_pago="1"
          cuenta_banco="110510"
          usuario="WTORO"
          RealizarCommit="S">
      
          <movimientosOtrosDatos
            movimientoId="1"
            ss_dato1=""/>
      
          <movimientoDetalle
            movimientoDetalleId="1"
            movimientoId="1"
            codigoArticulo="511010"
            cantidad="1"
            valorUnitario="100"
            iva="19"
            descuento="0"
            descuento2="0"
            bodega="01"
            nit_det="70100100"/>
      
          <movimientoDetalle
            movimientoDetalleId="2"
            movimientoId="1"
            codigoArticulo="PASAJES"
            cantidad="1"
            valorUnitario="200"
            iva="19"
            descuento="0"
            descuento2="0"
            bodega="01"
            nit_det="70100200"/>
      
        </movimiento>
      </Movimientos>

Ejemplo XML para Explosión de Insumos

<Movimientos>
        <movimiento
          movimientoId="1"
          fuente="EX"
          centroCosto="A"
          n_numero_documento="0"
          fecha="2023-09-12"
          d_fecha_documento="2023-09-12"
          nit="1143941552"
          observaciones="Prueba de explosión de insumos"
          moneda="PESOS"
          fechaVencimiento="2023-09-12"
          usuario="ADMON"
          RealizarCommit="S">
      
          <movimientoDetalle
            movimientoDetalleId="1"
            movimientoId="1"
            codigoArticulo="Resina01"
            cantidad="100"
            valorUnitario="529835"
            iva="0"
            bodega="P"
            lote="23/11/2026|ABC123"
            tipoComponente="P"/>
      
          <movimientoDetalle
            movimientoDetalleId="1"
            movimientoId="2"
            codigoArticulo="COMP1"
            cantidad="-234.5"
            valorUnitario="250000"
            iva="0"
            lote="23/11/2029|ABC123"
            bodega="PP"
            tipoComponente="C"/>
      
          <movimientoDetalle
            movimientoDetalleId="1"
            movimientoId="2"
            codigoArticulo="COMP2"
            cantidad="-4976"
            valorUnitario="7500"
            iva="0"
            lote="|AC123"
            bodega="PP"
            tipoComponente="C"/>
      
          <movimientoDetalle
            movimientoDetalleId="1"
            movimientoId="3"
            codigoArticulo="COMP3"
            cantidad="-6534"
            valorUnitario="1500"
            iva="0"
            lote=""
            bodega="PP"
            tipoComponente="C"/>
      
        </movimiento>
      </Movimientos>

Estructura Archivo XML Grabar Recibos Caja y/o Egresos (Tipo 6)

Nodo Descripción Tipo Oblig Ejemplo
<Movimientos> Contiene todos los Documentos a crear.
<movimiento> Contiene los datos de un Documento en particular.
movimientoId Número Interno del Documento Numeric 213012
fecha Fecha del Documento (YYYY/MM/DD) Date 2020/04/30
num_doc Número de Documento. 0 para asignar el consecutivo. Numeric 0
fuente Código de la Fuente String RC
ss_clase_comprobante Clase de Comprobante, si aplica String No REC
nit Nit del cliente / proveedor Numeric 10202455
centroCosto Centro de Costos String No 04
prefijo Prefijo del Documento, si aplica String No M
observaciones Observaciones del Pedido String No Dejar en Portería
moneda Moneda de Negociación String No PESOS
trm TRM si la moneda es distinta de PESOS Numeric No 1
pedido Pedido Interno del Cliente String No OC-201
remision Número de Remisión String No RM-112
beneficiario Nombre del Beneficiario, si es diferente String No Juan Pérez
ss_otros Código Sucursal del Cliente. Debe iniciar por ! String No !1
ss_codigo_cuenta_banco Código de la Cuenta de Caja/Banco String 11100501
usuario Usuario que realizó el documento String Si WTORO
ss_gps_latitud Latitud para GeoReferenciación Numeric No 36
ss_gps_longitud Longitud para GeoReferenciación Numeric No 55
RealizarCommit ¿Se realiza el Commit en la BD? (S/N) Char S
<movimientosOtrosDatos> <Movimientos> <movimiento


<movimientosOtrosDatos

> </movimiento>
</Movimientos>
movimientoId Número Interno del Documento Numeric 213012
dato1 ... dato55 Más Datos 1 - 55 String No <dato1></dato1>, <dato8></dato8>, ...
ss_usuario_autoriza Datos del usuario que autorizó el documento String No 70100100-Juan Pérez
<movimientoReferencia> <Movimientos> <movimiento


<movimientoReferencia

> </movimiento>
</Movimientos>
movimientoId Número Interno del Documento Numeric 213012
ka_nl_documento_referencia Consecutivo interno del documento que se está pagando (identity) Integer No 1
ss_codigo_fuente_referencia Código de la Fuente del Documento que se está pagando String FV
ss_clase_comprobante_referencia Clase de Comprobante del Documento que se está pagando String No
n_numero_documento_referencia Número del Documento que se está pagando Numeric 100
n_valor Valor Total Pagado Numeric 100000
n_retencion Valor de la Retención en la Fuente en el Recibo o Egreso Numeric No 0
n_valor_descuento Valor del Descuento Pronto Pago Numeric No 0
n_int_mora Valor del Interés x Mora en el Recibo o Egreso Numeric No 0
n_otros_cargos Valor de Otros Cargos Numeric No 0
ss_codigo_cuenta_mas Código de la Cuenta Contable asociada a los Otros Cargos String No 513595
n_otras_ded Valor de Otras Deducciones Numeric No 0
ss_codigo_cuenta_menos Código de la Cuenta Contable asociada a las Otros Deducciones String No 513595
nd_iva Valor del IVA en el Recibo o Egreso Numeric No 0
nd_comision_cobros Porcentaje de Comisión sobre Recaudo asociada al RC Numeric No 1.50
nd_anticipo Valor del Anticipo Numeric No 0
ka_ni_fuente_ant Código Interno de la Fuente asociada al Anticipo Numeric No 3
ss_codigo_centro_costo Código del Centro de Costos x Línea String No 02
ss_codigo_flujo_caja Código del Flujo de Caja String No 10
<mediosPagos> <Movimientos> <movimiento


<mediosPagos

> </movimiento>
</Movimientos>
ka_nl_medio_pago Consecutivo interno del medio de pago (identity) Integer No 1
ss_codigo_medio_pago Código del Medio de pago String No 01
ss_codigo Código del Banco String No 07
ss_numero Número de la Transacción String No RX454232
ss_nro_caja Número de la Caja que recibe el pago String No T-01
sc_factura_pos Para el caso de los Pagos, siempre va en N Char No N
nd_valor Valor pagado con ese Medio de Pago Numeric No 30000
sc_final_proc S/N Char No N

Ejemplo XML para Recibos de Caja y/o Egresos

<Movimientos>
      
        <movimiento  
          movimientoId="1"  
          fuente="RC"   
          num_doc="0"
          fecha="2020-10-07"  
          d_fecha_documento="2020-10-07"  
          nit="811040859"  
          observaciones="Prueba Integración SAG -RECIBO DE CAJA-"  
          moneda="PESOS"  
          trm="0"  
          centroCosto="01" 
          ss_otros=""  
          beneficiario="WILLIAM TORO"  
          ss_codigo_cuenta_banco="11100501"  
          usuario="WTORO" 
          RealizarCommit="S">
      
          <movimientosOtrosDatos  
            movimientoId="1"  
            ss_dato1="" />
      
          <movimientoReferencia 
            movimientoId="1"  
            ss_codigo_fuente_referencia="FV"  
            n_numero_documento_referencia="100"  
            n_valor="100000"  
            n_valor_descuento="5000" />
      
          <movimientoReferencia 
            movimientoId="1"  
            ss_codigo_fuente_referencia="FV"  
            n_numero_documento_referencia="134"  
            n_valor="50000" />
      
        </movimiento>
      
      </Movimientos>

Ejemplo XML para Anticipos

Nota: Para los anticipos el n_valor es 0 siempre. El ka_ni_fuente_ref se puede encontrar usando el método de consulta del mismo web_service:

Select ka_ni_fuente from fuentes where k_sc_codigo_fuente='AN'
<Movimientos>
        <movimiento  
          movimientoId="1"  
          fuente="RC" 
          num_doc="0" 
          fecha="20231109"            
          nit="900564299" 
          observaciones="prueba desde postman" 
          moneda="PESOS"
          trm="0"  
          centroCosto="1" 
          ss_otros=""  
          beneficiario="FIBRAS Y FIGURAS S.A.S" 
          ss_codigo_cuenta_banco="11100508" 
          usuario="EYAV" 
          RealizarCommit="S">
      
          <movimientosOtrosDatos  
            movimientoId="1"  
            ss_dato1=""/>
      
          <movimientoReferencia  
            movimientoId="1"  
            ss_codigo_fuente_referencia="AN" 
            n_numero_documento_referencia="0"  
            n_valor="0" 
            ka_ni_fuente_ant="12"  
            nd_anticipo="7850"/>
      
        </movimiento>
      </Movimientos>

Estructura Archivo XML Grabar Movimiento Contable (Tipo 7)

Nodo Descripción Tipo Oblig Ejemplo
<Movimientos> Contiene todos los Documentos a crear.
<movimiento> Contiene los datos de un Documento en particular.
movimientoId Número Interno del Documento Numeric 1
fuente Código de la Fuente String RC
prefijo Prefijo del Documento, si aplica String No M
n_numero_documento Número de Documento. 0 para asignar el consecutivo. Numeric 1122
d_fecha_documento Fecha del Documento. Formato YYYY/MM/DD Date 2020-04-30
fecha Fecha de origen o realización Date 2020-04-30
beneficiario Nombre del Beneficiario, si es diferente del Cliente String No Juan Pérez
observaciones Observaciones del Documento String No Consignación
moneda Moneda de Negociación String No PESOS
trm TRM si la moneda es diferente de PESOS Numeric No 1
usuario Login del usuario que realizó el documento. Debe estar creado en SAG®. String WTORO
RealizarCommit ¿Se realiza el Commit en la BD? (S/N) Char S
<movimientoDetalle> Contiene las líneas del movimiento contable <Movimientos> <movimiento


<movimientoDetalle

> </movimiento>
</Movimientos>
movimientoId Número Interno del Documento Numeric 1
movimientoDetalleId Consecutivo de la línea. Ej: si el documento tiene 5 líneas, se envía cada una. Numeric 1
cuenta Código de la Cuenta Contable que recibe el movimiento String 130505
centroCosto Centro de Costos, si aplica String No 04
nit NIT del Tercero, si aplica Numeric No 70100100
valorDB Valor Débito. 0 si no aplica Numeric 10000
valorCR Valor Crédito. 0 si no aplica Numeric 0
valorBase Valor de la Base. 0 si no aplica Numeric 0

Ejemplo XML para Movimiento Contable

<Movimientos>
      
        <movimiento  
          movimientoId="1"  
          fuente="RC"   
          n_numero_documento="1122"
          fecha="2020-10-07"  
          beneficiario="Juan Toro"  
          observaciones="Consignación"  
          moneda="PESOS"  
          trm="1"  
          usuario="WTORO" 
          RealizarCommit="S">
      
          <movimientoDetalle  
            movimientoId="1"  
            movimientoDetalleId="1"  
            cuenta="130505"  
            centroCosto="04"  
            nit="70100100"  
            valorDB="119000"  
            valorCR="0"  
            valorBASE="0"/>
      
          <movimientoDetalle  
            movimientoId="1"  
            movimientoDetalleId="2"  
            cuenta="240805"  
            centroCosto="04"  
            nit="70100100"  
            valorDB="0"  
            valorCR="19000"  
            valorBASE="100000"/>
      
          <movimientoDetalle  
            movimientoId="1"  
            movimientoDetalleId="3"  
            cuenta="413595"  
            centroCosto="04"  
            nit="70100100"  
            valorDB="0"  
            valorCR="100000"  
            valorBASE="0"/>
      
        </movimiento>
      
      </Movimientos>

Estructura XML para Actualizar-Crear Terceros (tipo 3)

Nodo Descripción Tipo Oblig Ejemplo
<Terceros> Contiene todos los Terceros a crear.
<tercero> Contiene los datos de un Tercero en particular.
tipoDocumento Tipo de Documento de Identificación del Tercero.
A = Nit
B = Certificado Cabildo
C = Cédula de Ciudadanía
E = Cédula de Extranjería
F = Tarjeta Profesional
L = Servicio Nacional de Pruebas
M = Menor sin identificación
N = Número por Secretaría de Educación
O = Número de Identificación Personal
P = Pasaporte
R = Registro Civil
S = Adulto sin Identificación
T = Cédula del Tutor
U = Número Único de Identificación
V = Visa
X = Tercero del Exterior sin ID (43)
Z = Tercero del Exterior con ID (42)
String A
documentoActual Número de la Cédula o NIT del Tercero (o su número de identificación) Numeric 890900300
documentoActualizar Número de la Cédula o NIT a actualizar (si cambió) Numeric No 890900300
digitoVerificacion Dígito de Verificación Numeric No 2
codigoAlterno Código Alterno o Alias String No JJ
nombre Nombre Completo o Razón Social del Tercero
Si el tercero es para actualizar, el campo NO es obligatorio.
String ALMACÉN JJ S.A.S.
representanteLegal Nombre del Representante Legal String No Juan José Peláez
naturaleza Indica si es Persona Natural o Jurídica.
N = Natural
J = Jurídica
Si el tercero es para actualizar, el campo NO es obligatorio.
String J
direccion Dirección del Tercero String No Diag. 75c # 32 e 68
direccion2 Segunda dirección String No Vereda Quirama
codigoDaneCiudad Código de la Ciudad asignado por el DANE. También, se puede enviar el nombre de la ciudad. Debe ser igual al Maestro de Ciudades del SAG®.
Si el tercero es para actualizar, el campo NO es obligatorio.
String 05360
tipoTercero Tipo de Contribuyente.
C = Régimen Común
S = Régimen Simplificado
G = Gran Contribuyente
O = Empresa Oficial
N = Clientes Natural
L = Entidad sin Ánimo de Lucro
J = Sociedad Extranjera
R = No Responsable de IVA
E = Empresa del Estado
String No C
telefonoPpal Teléfono Principal String No +57 4 4486859
telefonoAlterno Teléfono Alterno String No
telefonoFax Fax o Tercer Teléfono String No
email Email String No ventas@pya.com.co
email2 Segundo Email String No ventas@pya.com.co
paginaWeb Sitio Web del Tercero String No www.pya.com.co
idExterior Número de Identificación del Tercero del Exterior String No R-120222-1
codActividadEconomica Actividad Económica según la DIAN String No 6120

NOTA: Cuando se usa el método de insercionSagXml() para actualizar un tercero, no es necesario mandar toda la estructura. Solo se requieren las etiquetas <terceros>, <tercero>, nitActual y las etiquetas de los campos que se vayan a actualizar, por ejemplo <email>, <dirección>, etc.

Estructura XML para Crear Artículos (Tipo 5)

Nodo Descripción Tipo Oblig Ejemplo
<articulos> Contiene todos los Artículos a crear.
<articulo> Contiene los datos de un Artículo en particular.
codigo Código del Artículo String 1001
descripcion Nombre o descripción del Artículo String CHAQUETA STAR
descripcion2 Descripción adicional String No JACKET STAR
referencia Referencia del Artículo String No ST01
codBarras Código de Barras String No 7704040123456
grupo Grupo del Artículo String VESTUARIO
subGrupo Subgrupo String No DAMA
linea Línea o Marca String No BON JOVI
unidad Unidad de manejo String UNIDAD
manejaKardex Inventariable (S/N) Char S
manejaLote Manejo de lote o serial
N / V / E / S
Char N
manejaTallaColor Manejo de Talla/Color
S / N / I
Char N
talla Código de la Talla String No 36
color Código del Color String No NG
codBarrasSKU Código de Barras SKU String No 7704040145456
activo Activo (S/N) Char S
bloqueado Bloqueado (S/N) Char N
clase Clasificación: A/S/G/O Char A
tarifaIVA Código de la tarifa de IVA String IVA19
porcentajeIVA % de IVA Numeric 19
incluidoIVA IVA incluido (S/N) Char N
PV1 Precio de Venta 1 hasta PV8 Numeric No 50000
PV1TC Precio de Venta Talla Color 1 hasta PV8TC Numeric No 50000
costoSTD Composición Numeric No 0
cantMaxima Cantidad Máxima permitida Numeric No 0
cantMinima Cantidad Minima permitida Numeric No 0
tiendaVirtual Indica si el Artículo está habilitado para la venta por eCommerce (S/N) Char No N
composicion Composición String No Pol/Alg
adquisicion Adquisición String No Importado
otroDato1 Otros Datos 1 hasta Otro dato 10 String No Rayas

Ejemplo Artículos

<articulos>
        <articulo 
          codigo="1001"
          descripcion="CHAQUETA STAR"
          descripcion2="STAR JACKET"
          referencia="ST01"
          codBarras="7704040123456"
          grupo="VESTUARIO DAMA"
          subgrupo="BON JOVI"
          unidad="UNIDAD"
          manejaKardex="S"
          manejaLote="N"
          manejaTallaColor="S"
          talla="36"
          color="NG"
          codBarrasSKU="7704567123401"
          activo="S"
          bloqueado="N"
          clase="A"
          tarifaIVA="IVA19"
          porcentajeIVA="19"
          incluidoIVA="N"
          PV1="50000"
          PV2="40000"
          composicion="Pol/Alg"
          adquisicion="Importado"
          otroDato1="Rayas" />
      </articulos>

Estructura Archivo XML Documentos (Todos los Tipos de Documentos) (Tipo 28)

Nodo Descripción Tipo Oblig Ejemplo
<Movimientos> Contiene todos los Documentos a crear.
<Movimiento> Contiene los datos de un Documento en particular.
MovimientoId Número Interno del Documento Numeric 213012
FechaDocumento Fecha del Documento. Formato YYYY/MM/DD Date 2020/04/30
NumeroDocumento Número del Documento. Si llega en 0 el SAG® asigna el consecutivo siguiente Numeric 0
NumeroDocumento2 Número2 String No OC-400
CodigoFuente Código de la Fuente String PD
ClaseComprobante Clase de Comprobante, si aplica String No PED
Nit Nit del cliente / proveedor al que se le realiza el documento Numeric 10202455
NitVendedor Cédula del Vendedor Numeric No 70100200
CentroCosto Centro de Costos String No 04
Prefijo Prefijo del Documento, si aplica String No 02
CiudadEntrega Ciudad de Entrega del Pedido String No Cali
DireccionEntrega Dirección de Entrega del Pedido String No Calle 25 # 12-29
Observaciones Observaciones del Documento String No Dejar en Portería
Moneda Moneda de Negociación String No PESOS
Trm TRM Numeric No 1
Pedido Número del Pedido/OC del Cliente o Proveedor. Informativo. Ej: FV-1122 String No OC-201
Remision Número de Remisión String No RM-112
LoginUsuario Login del Usuario logueado en la aplicación origen. String Si WTORO
Otros Código Sucursal del Cliente. Debe iniciar por ! String No !1
Impreso Indicador de si el documento fue impreso (S/N) Char No N
Generado Indicador de si el documento fue generado automáticamente (S/N) Char No N
EsRemision Indicador de si el documento es una Remisión (S/N) Char No N
Facturado Indicador de si el documento (remisión) fue facturado (S/N) Char No N
VistoBueno Indicador de si el documento fue modificado manualmente por contabilidad (S/N) Char No N
Autorizado Indicador de si el documento está autorizado (S/N) Char No N
Incoterm El código del Incoterm debe existir en la base de datos Varchar No CFR, CIF
RealizarCommit Indica si se realiza el Commit en la BD al grabar el Documento (S/N) Char S
Accion Indica la acción a realizar en el sistema Char No I = Insertar
FechaOriginal La fecha con la que se graba el documento Date No 2025-05-28
Beneficiario Nombre del Beneficiario String No Juan Pérez
CodigoCuentaBanco Es el código de la cuenta del banco, solo se utiliza para los recibos y egresos. Es obligatorio para los documentos tipos recibos de caja y/o egresos String No 110505
TrmMe Es la TRM de la moneda extranjera Decimal No 0
PagoContado Indica si el documento va a realizar un pago de contado Char No S = Sí / N = No
PorcentajeComisionVentas Indica el % de comisiones de un vendedor sobre esa venta Decimal No 0 por defecto hasta el 99%
FechaVencimiento Indica la fecha de vencimiento del documento Date No 2025-05-28
DiasPp1 Días para el cálculo del pronto pago (Hasta DiasPp3) Decimal No 0
FechaPp1 Fecha del primer pronto pago (Hasta FechaPp3) Date No 2025-06-08
DescripcionFormaPago Descripción de la forma de pago String No 30 días, debe estar en el maestro de formas de pago del SAG (formas_pagos)
ManejaCuota Indica si el documento maneja cuotas Char No S = Sí, N = No
PorcentajeRefteManual Indica el % de la retención para retenciones manuales (personas naturales) Decimal No 0 hasta el 99.9%
ValorRetefteManual Valor de la retención manual Decimal No 10000
SistemaOrigen Indica el sistema del que llega el documento String No SagWeb
AsignarImpuestosPorDefecto Indica si se van a asignar los impuestos teniendo en cuenta el maestro de terceros Char No S = Sí, N = No
AsignarVendedorPorDefecto Indica si se va a asignar el vendedor teniendo en cuenta el maestro de terceros Char No S = Sí, N = No
AsignarMonedaPorDefecto Indica si se asigna la moneda de la empresa por defecto Char No S = Sí, N = No
NitPaciente Graba en el documento el número de documento del paciente (Empresas de salud) Int No 1053854678
DocumentoCerrado Indica si se va a dejar cerrado el documento o no Char No S = Sí, N = No
CausalDevolucion El código de la causal de devolución solo aplica para notas de devolución. Debe existir en el maestro de causales de devolución del SAG (causal_devolucion) String No 01

Estructura XML <MovimientoDetalle>

Nodo Descripción Tipo Oblig Ejemplo
<MovimientoDetalle> El detalle del Item a enviar dentro del Movimiento. <Movimientos> <Movimiento


<MovimientoDetalle

> </Movimiento>
</Movimientos>
MovimientoId Número Interno del Documento Numeric 213012
MovimientoDetalleId Consecutivo del Ítem Numeric 1
CualPrecio Lista de Precios a Tomar. 1..8 String No 1
CodigoArticulo Código del Artículo. Si maneja T/C, puede enviarse separado o como Código de Barras Ref-Talla-Color String 2002
Talla Talla String No L
Color Color String No NG
Cantidad Cantidad Pedida Numeric 6
ValorUnitario Valor Unitario antes de IVA (usar -9999999 para costo promedio) Numeric 15000
Iva % de IVA Numeric 19
Descuento % de Descuento Comercial Numeric 5
Descuento2 % de 2° Descuento Comercial Numeric 5
PorcentajeIva % de Iva al producto Numeric No 5
CantidadUnidadCompraMayor Cantidad Unidad de Compra x Mayor. Ej: Docena Numeric No 5
FechaEntrega Fecha de entrega estimada Date No 2024-01-05
CodigoBin Código Bin del artículo String No
ValorUnitarioCompraMayor Valor Unitario Unidad de Compra x Mayor Numeric No 200000
DetalleAdicional Detalle adicional por ítem String No ASESORÍA PRESENCIAL
BodegaOrigen Código de la Bodega Origen (requerido para traslados) String No 01
BodegaDestino Código de la Bodega Destino (requerido para traslados) String No 02
Bodega Es obligatoria para documentos tipo factura o inventario, indica cual es el codigo de la bodega (Debe existir en el maestro de bodegas) String No 02
Lote Número de Lote o Serial String No AB3545R
Campo01Detalle Detalle opcional (Hasta Campo04Detalle) String No Detalle del item personal
PorcentajeBase 0 hasta 99.9 Numeric No 10
ValorBase Valor base de la cuenta contable (Necesaria para un asiento contable) Numeric No Ejemplo valor base de la retención en la fuente o el iva
CodigoCuentaContable El numero de la cuenta contable que esta en el maestro de cuentas contables String No ADM
CodigoValorPosible Codigo del valor posible String No Ejemplo 99 para indicar que es el total
90 IVA
70 ReteFUENTE
80 ReteIVA
CodigoFlujoCaja Codigo flujo caja que esta en el maestro de flujo de caja String No 01 Que hace referencia a ingresos
FuentePedido Fuente del documento de pedido String No OG
NumeroPedido Número del documento del pedido String No 33670
FechaPedido Fecha del documento relacionado Date No 2025-05-21
CodigoCentroCostoItem Código del centro de costo del maestro centro costo String No ADM
ObservacionesItem Permite agregar una observación sobre el item String No Escribir observación
Campo01Detalle Se puede usar hasta el detalle 08 String No Escribir observación
FuenteRemision Indica la fuente de la remisión asociar el item, queda como el documento relacionado String No OC
NumeroRemision Indica el número de documento de la remisión asociar el item, queda como el documento relacionado Int No 14574
TipoComponente Indica si el artículo o item es un componente Char No S
NitTercero Cédula o nit del tercero String No 9001458793
NitVendedorAnticipo Relaciona el Vendedor que realiza el anticipo Int No 9001458793
CodigoCuentaMas Código de la cuenta más que aplica solo para Recibos de Caja y Egresos String No Debe existir en el maestro de plan de cuentas del SAG
CodigoCuentaMenos Código de la cuenta menos que aplica solo para Recibos de Caja y Egresos String No Debe existir en el maestro de plan de cuentas del SAG
CodigoCuentaDifCambio Código de la cuenta diferencia en cambio que aplica solo para Recibos de Caja y Egresos String No Debe existir en el maestro de plan de cuentas del SAG
ValorDiferenciaCambio Es el valor de la diferencia en cambio Decimal No 10000
CodigoCuentaDifCambioMe Es el valor de la diferencia en cambio para moneda extranjera String No Debe existir en el maestro de plan de cuentas del SAG
CodigoCuentaReteiva Código de la cuenta reteiva, aplica solo para Recibos de Caja y Egresos String No Debe existir en el maestro de plan de cuentas del SAG
CodigoCuentaReteFte Indica cuál es el código de la retención en la fuente para el Item String No C10
CodigoCuentaDifCambioniif Código de la cuenta de cambio para Nif, aplica solo para Recibos de Caja y Egresos String No Debe existir en el maestro de SAG
ValorDifCambioNiif Indica el valor de diferencia de cambio para el Niff Decimal No 5000
ValorMe Indica el valor de cambio en Moneda extranjera Decimal No 5200
CodigoBinOrigen Código de localización cuando maneja Bin (Solo aplica para traslados entre bodegas) String No Debe existir en el maestro de bodegas bines de SAG
CodigoBinDestino Código de localización cuando maneja Bin (Solo aplica para traslados entre bodegas) String No Debe existir en el maestro de bodegas bines de SAG
CualPrecio Indica cuál lista de precio se utiliza Char No 1 = Precio 1
CodigoCausal Indica el codigo de la causal de devolución para el item, para las Notas String No Debe existir en el maestro de SAG (causal_devolucion)
NumeroCheque Indica cuál lista de precio se utiliza String No 12345678

<MovimientosOtrosDatos>

Nodo Descripción Tipo Oblig Ejemplo
<MovimientosOtrosDatos> Otros Datos del documento. <Movimientos> <Movimiento


<MovimientosOtrosDatos

> </Movimiento>
</Movimientos>
MovimientoId Número Interno del Documento Numeric 213012
Dato1 Más Datos 1 - 30 String No Dato1, Dato8 … Dato30

EJEMPLO XML PARA TRASLADOS:

<Movimientos>
        <Movimiento MovimientoId="1"
                    CodigoFuente="TR"
                    NumeroDocumento="0"
                    FechaDocumento="2023/06/30"
                    Nit="72257656"
                    CentroCosto="8000"
                    Observaciones="Pruebas"
                    Moneda="PESOS"
                    LoginUsuario="ADMON"
                    SistemaOrigen="SQL">
      
          <MovimientoOtrosDatos MovimientoId="1"
            Dato1="Dato1"
            Dato2="Dato2"
            Dato3="Dato3"
            Dato4="Dato4"
            Dato5="Dato5"
            Dato15="Dato15" />
      
          <MovimientoDetalle MovimientoDetalleId="1"
            MovimientoId="1"
            CodigoArticulo="CAMISA01"
            BodegaOrigen="A"
            BodegaDestino="B"
            Cantidad="1"
            Descuento="0"
            Iva="1"
            ValorUnitario="0"
            ValorPrecioVenta="300"
            Talla="S"
            Color="RJ"
            PorcentajeIva="19"
            PorcentajeDescuento="0"
            DetalleAdicional="Detalle"/>
      
        </Movimiento>
      </Movimientos>

EJEMPLO XML PARA ASIENTO CONTABLE:

<Movimientos>
        <Movimiento MovimientoId="1"
                    CodigoFuente="FV"
                    Prefijo="FE"
                    NumeroDocumento="0"
                    FechaDocumento="2024/10/31"
                    CentroCosto="8000"
                    Generado="N"
                    Beneficiario="90000"
                    ClaseComprobante=""
                    Observaciones="Pruebas Observaciones"
                    RealizarCommit="N"
                    Moneda="PESOS"
                    LoginUsuario="ADMON"
                    SistemaOrigen="NOMBRE EMPRESA QUE GEENRA EL DOCUMENTO">
      
          <MovimientoOtrosDatos MovimientoId="1" Dato01="Dato1" />
      
          <MovimientoDetalle MovimientoDetalleId="1"
            MovimientoId="1"
            CodigoCuentaContable="41201401"
            NitTercero="123456789"
            CodigoCentroCosto="8000"
            Valor="1000"
            PorcentajeBase="0"
            ValorBase="0"/>
      
          <MovimientoDetalle MovimientoDetalleId="2"
            MovimientoId="1"
            CodigoCuentaContable="24080105"
            NitTercero="123456789"
            Valor="-1000"
            PorcentajeBase="1"
            ValorBase="1000000"
            DetalleAdicional="Detalle"/>
      
        </Movimiento>
      </Movimientos>

EJEMPLO PARA UNA ENTRADA DE MERCANCIA CON ORDEN DE COMPRA ASOCIADA:

<Movimientos>
        <Movimiento MovimientoId="1"
                    FechaDocumento="2025-05-22"
                    NumeroDocumento="0"
                    NumeroDocumento2="HRN"
                    CentroCosto="A"
                    LoginUsuario="WMS"
                    FechaVencimiento="2025-06-21"
                    FechaPp1="2025-05-22"
                    RealizarCommit="S"
                    CodigoFuente="EA"
                    Nit="890911700"
                    Moneda="PESOS"
                    Pedido="OG-33670"
                    Observaciones="Prueba Integración WMS">
      
          <MovimientoDetalle MovimientoId="1"
            MovimientoDetalleId="1"
            Cantidad="1"
            ValorUnitario="6700"
            Iva="0"
            Descuento="0"
            CodigoArticulo="CR506H"
            Bodega="AG01"
            FuentePedido="OG"
            NumeroPedido="33670"
            FechaPedido="2025-05-21"
            DetalleAdicional="Nota item"/>
      
          <MovimientoDetalle MovimientoId="1"
            MovimientoDetalleId="2"
            Cantidad="1"
            ValorUnitario="140"
            Iva="0"
            Descuento="0"
            CodigoArticulo="CR804GB"
            Bodega="AG01"
            FuentePedido="OG"
            NumeroPedido="33670"
            FechaPedido="2025-05-21"
            DetalleAdicional="Nota item"/>
      
        </Movimiento>
      </Movimientos>