MYSuite cuenta con dos plataformas de trabajo: Pruebas y Productivo (ambas tienen la misma aplicación), la diferencia es que en el ambiente de pruebas, sólo es posible emitir CFDI's con RFC Emisor de pruebas "JES900109Q90", no es posible generar un CFDI con el RFC Emisor real de una empresa, esto se hace como medida para evitar confusiones, pues un CFDI de prueba y uno real, contienen los mismos lineamientos en cuanto a estructura.
Nuestra capa de servicio se comunica mediante Web Services (utilizando protocolo SOAP), que responde de manera síncrona, es decir, se recibe una transacción, MYSuite realiza una acción y se devuelve una respuesta.
A continuación se describen los Web Services:
Plataforma de Prueba
Web Services
https://www.mysuitetest.com/mx.com.fact.wsfront/FactWSFront.asmx
WSDL
https://www.mysuitetest.com/mx.com.fact.wsfront/FactWSFront.asmx?wsdl
Estructura de Transacciones
https://www.mysuitetest.com/mx.com.fact.wsfront/factwsfront.asmx?op=RequestTransaction
Plataforma Productiva
Web Services
https://www.mysuitecfdi.com/mx.com.fact.wsfront/FactWSFront.asmx
WSDL
https://www.mysuitecfdi.com/mx.com.fact.wsfront/FactWSFront.asmx?wsdl
Estructura de Transacciones
https://www.mysuitecfdi.com/mx.com.fact.wsfront/factwsfront.asmx?op=RequestTransaction
Independientemente del ambiente que esté ocupando, el XML del SOAP que debe enviarse en la solicitud es el siguiente:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestTransaction xmlns="http://www.fact.com.mx/schema/ws"> <Requestor>string</Requestor> <Transaction>string</Transaction> <Country>string</Country> <Entity>string</Entity> <User>string</User> <UserName>string</UserName> <Data1>string</Data1> <Data2>string</Data2> <Data3>string</Data3> </RequestTransaction> </soap:Body> </soap:Envelope>
Requestor:
Es un dato de tipo GUID que proporciona MYSuite, está relacionado con la seguridad de la transacción así como procesos de autenticación y autorización.
Transaction:
Corresponde al método que desee invocar.
Country:
Corresponde a la abreviatura del país, en este caso MX.
Entity:
Identifica el RFC de quién realiza la solicitud, en este caso, corresponde a la empresa que realiza la transacción desde su ERP o sistema de gestión de facturas. En el ambiente de prueba se debe utilizar el RFC: JES900109Q90
User:
Repetir la información del Requestor.
UserName:
Está considerado para poder indicar el usuario del ERP y que el cliente pueda conocer quién realizó la solicitud, se define por la combinación de varios parámetros de la siguiente manera:
Country.Entity.Usuario_ERP
Ejemplos
MX.JES900109Q90.jacinto
MX.JES900109Q90.mendez
La adopción de un usuario u otro está en dependencia de las necesidades del cliente en cuanto a la división de sus procesos de facturación en sucursales, departamentos o simplemente identificar cada actividad de facturación por empleado.
Data1, Data2 y Data3:
En función del método a utilizar se deberá contemplar el llenado de estos nodos conforme corresponda.
Lo primero que debe verificarse en la respuesta de la solicitud es el nodo <Result>true</Result> que se encuentra en el nodo <Response>
Si el Resultado fue “true“ significa que pudo completarse la transacción solicitada y debe recogerse en la respuesta la información que devuelve MYSuite.
Si el Resultado fue “false” entonces debe mostrarse al usuario u operador del sistema (ERP o sistema de facturación), la información que devolvió MYSuite en los nodos <Description>, <Hint> y <Data> dentro del nodo <Response>.
<Response> <Description>string</Description> <Hint>string</Hint> <Data>string</Data> </Response>
<Identifier> <Country>MX</Country> <Entity>JES900109Q90</Entity> <FiscalName>PRUEBAS MEXICO S.A. DE C.V.</FiscalName> <AYear>0</AYear> <ANumber/> <Batch>MEX</Batch> <Serial>0919112412</Serial> <DocumentGUID>17076c9e-a6f1-4863-9098-4b1819602468</DocumentGUID> <IssuedTimeStamp>2019-03-08T10:00:00</IssuedTimeStamp> <InternalID>0919112412</InternalID> <ReceiverCountry>MX</ReceiverCountry> <ReceiverEntity>COP920428Q20</ReceiverEntity> <ReceiverTaxID/> <ReceiverName>COPPEL S.A. DE C.V.</ReceiverName> <ClaveAgente/> <NumeroDePoliza/> <Currency>MXN</Currency> <TotalAmount>50314.14</TotalAmount> <Type1/> <Type2>NOTA_DE_CREDITO</Type2> <SuggestedFileName>JES900109Q90_MEX_1_COP920428Q20</SuggestedFileName> <SuggestedFileName2>08032019__1_MEX1_</SuggestedFileName2> </Identifier>
CFDI + TIMBRADO (Emiten CFDI a través de la generación y procesamiento de un archivo xml nativo de MYSuite)
SOLO TIMBRADO (Generan CFDI conforme al Anexo 20 vigente, el cual envían a MYSuite para la obtención del timbre fiscal)
ENDPOINT (Emiten CFDI a través de la generación y procesamiento de un archivo json nativo de MYSuite)
CFDI + TIMBRADO API REST (Emiten CFDI a través de la generación y procesamiento de un archivo xml o json nativo de MYSuite)
CFDI + TIMBRADO
LOOKUP_ISSUED_BATCH_AND_SERIAL
ESQUEMA DE CANCELACIÓN 2022