Como crear un documento en FerrumOP desde una aplicacion de terceros

Para poder insertar un nuevo documento dentro de FerrumOP desde un sistema de terceros, se debe agregar un xml a la tabla monitor, desde ahí FerrumOP la leerá y agregará en la serie correspondiente.

Requisitos #

Tener acceso de escritura en mysql a la tabla DATOSx/MONITOR

Tener en FerrumOP el permiso R2265-IMPORTA DOCUMENTOS DESDE XML

Tener Procesos de Captura Automatica disponibles.

Procedimiento #

Se inserta en la tabla MONITOR los siguientes datos:

MTRESTADO=”N”    mtrestado puede tener valores de N-Listo para importar, I-Documento importado exitosamente, E-Documento no importado por error.

MTRTIPO=”C”    mtrestado determina el tipo de documento importado, puede ser C-Cotizacion, N-Remision, F-Factura

MTRMENSAJE = XML   contiene el xml que se va a importar, abajo se define su estructura.

Dentro de FerrumOP deberá estar alguna maquina con el  proceso de importacion de xml (Ventas->Importar XML)

Al terminar de importar, el registro tendra los siguientes valores

MTRESTADO = I  Si el documento fue importado dentro de FerrumOP

o

MTRESTADO = E si el documento no pudo ser importado

MTRRESPUESTA = Motivo por el cual no pudo ser importado

Estructura de XML #

Cualquier atributo o nodo no especificado aqui será ignorado.

Cualquier valor no definido, se asignará de la misma forma que si se capturara dentro de FerrumOP

<?xml version=”1.0″ encoding=”utf-8″?>

<cfdi:Comprobante

Serie=”F” <!–Define la serie a donde se importara, si no existe se importa en la predeterminada –>

LugarExpedicion=”48740″ <!–Solo se usa en compras –>

Version=”3.3″ <!–Valor requerido para poder importarlo–>

Observacion=”Observacion del doc” <!–Se almacena como observacion del documento–>

Folio=”M2002319″ <!–Se almacena junto con la serie en el campo de documento origen –>

Descuento=”0″ <!–Determina el descuento financiero en compras –>

Fecha=”2020-01-01T08:00:00″> <!–Se almacena como fecha de captura –>

 

<cfdi:Emisor

Nombre=”Mi Proveedor”

Rfc=”MPR200203TS7″ /> <!–Solo se usa en la importacion de compras, si no existe se agrega a proveedores–>

<cfdi:Receptor

CliNumero=”100″ <!–Numero de cliente dentro de ferrum, si no existe se agrega a la lista de clientes–>

Nombre=”Sistemas Ferrum” <!–Si no existe, se agrega a la lista de clientes –>

CodigoPostal=”72410″ <!–código postal del cliente –>

Rfc=”CAVL710608GT4″> <!–Si no existe CliNumero, busca el cliente por RFC –>

Calle=”CIRCUITO INTERIOR”> <!– Busca en los domicilios del cliente, si no existe lo crea–>

NumeroExterior=”2116″> <!–Para la busqueda del domicilio considera la calle y el numero exterior –>

NumeroInterior=”E8″> <!–Numero Interior –>

Colonia=”LA NORIA”> <!–Colonia, descripcion o numero del catálogo del SAT –>

Localidad=”PUEBLA”> <!–Ciudad o Poblacion o numero del catálogo del SAT–>

Referencia=”Frente a la Burgalesa”> <!–Referencia del domicilio –>

Municipio=”PUEBLA”> <!–Municipio o Numero del municipio del catálogo del SAT –>

Estado=”PUE” /> <!–Estado de acuerdo al catálogo de estados del SAT –>

<cfdi:DomicilioEnvio  <!- Domicilio a donde se enviara la mercancia, si no se especifica, se usa la dirección del cliente ->

Nombre=”Sistemas Ferrum” <!–Si no existe, se agrega a la lista de clientes –>

Rfc=”CAVL710608GT4″> <!–Si no existe CliNumero, busca el cliente por RFC –>

CodigoPostal=”72410″ <!–código postal del cliente –>

Calle=”CIRCUITO INTERIOR”> <!– Busca en los domicilios del cliente, si no existe lo crea–>

NumeroExterior=”2116″> <!–Para la busqueda del domicilio considera la calle y el numero exterior –>

NumeroInterior=”E8″> <!–Numero Interior –>

Colonia=”LA NORIA”> <!–Colonia, descripcion o numero del catálogo del SAT –>

Localidad=”PUEBLA”> <!–Ciudad o Poblacion o numero del catálogo del SAT–>

Referencia=”Frente a la Burgalesa”> <!–Referencia del domicilio –>

Municipio=”PUEBLA”> <!–Municipio o Numero del municipio del catálogo del SAT –>

Estado=”PUE” /> <!–Estado de acuerdo al catálogo de estados del SAT –>

 

<cfdi:Emisor

Nombre=”Mi Proveedor”

Rfc=”MPR200203TS7″ /> <!–Solo se usa en la importacion de compras, si no existe se agrega a proveedores–>

<cfdi:Conceptos>

<cfdi:Concepto

NoIdentificacion=”A1″ <!–Articulo de la partida, se busca en el siguiente orden Clave del Articulo, Clave del proveedor del articulo, Clave de Fabricante, Codigo de barras –>

Cantidad=”1″ <!–Cantidad del articulo, por defecto 1 –>

ClaveProdServ=”12345678″ <!–Solo se usa en compras para actualizar la clave SAT –>

ClaveUnidad=”H87″ <!–Identifica la unidad de venta –>

Unidad=”PZ” <!–Otra forma de identificar la unidada de venta –>

Descripcion=”Articulo Prueba” <!–Descripcion que se usa para el registro de errores –>

Descuento=”0″ <!–Descuento del articulo, se convierte a porcentaje de descuento –>

ValorUnitario=”447.41″> <!–Precio de venta con IEPS incluido antes de IVA –>

<cfdi:Impuestos>

<cfdi:Traslados>

<cfdi:Traslado

Impuesto=”002″ <!–Determina si genera IVA o IEPS –>

TasaOCuota=”0.160000″ <!–Determina el monto del impuesto –>

TipoFactor=”Tasa” /> <!–Determina como se calcula el impuesto –>

</cfdi:Traslados>

</cfdi:Impuestos>

</cfdi:Concepto>

</cfdi:Conceptos>

</cfdi:Comprobante>

Ejemplo de un XML mínimo #

<?xml version=”1.0″ encoding=”utf-8″?>
<cfdi:Comprobante Version=”3.3″
<cfdi:Receptor CliNumero=”100″ />
<cfdi:Conceptos>
<cfdi:Concepto NoIdentificacion=”A1″ />
</cfdi:Conceptos>
</cfdi:Comprobante>

 

Con este XML se creara un documento al cliente 100, con una partida de 1 articulo A1, en su unidad de venta con el precio predeterminado.

Con el siguiente código se inserta este documento en FerrumOP

INSERT INTO DATOSX.MONITOR SET MTRESTADO=”N”,MTRTIPO=”C”,MTRMENSAJE='<?xml version=”1.0″ encoding=”utf-8″?><cfdi:Comprobante Version=”3.3″<cfdi:Receptor CliNumero=”100″ /><cfdi:Conceptos><cfdi:Concepto NoIdentificacion=”A1″ /></cfdi:Conceptos></cfdi:Comprobante> ‘

Powered by BetterDocs

¿Aún no estás registrado?

Iniciar Sesión

Accede a tu cuenta de miembro

Registro de Usuario