¿100 CFDI en 40 segundos? Valida XML del SAT con Excel

Imagen
🤯 ¿100 CFDI en 40 segundos? Automatiza la validación de XML con Excel ¿Cuánto tiempo dedicas a revisar archivos XML de facturas electrónicas? Si trabajas con contabilidad, cuentas por pagar, cuentas por cobrar o administración, sabes que validar muchos comprobantes fiscales puede convertirse en una tarea repetitiva. 🚀 ¿Y si pudieras procesar 100 archivos XML en aproximadamente 40 segundos? En esta demostración utilizo una macro de Excel diseñada para automatizar la validación masiva de CFDI y consultar su estado ante el Servicio de Administración Tributaria (SAT). 📊 ¿Qué hace esta macro de Excel? La herramienta permite seleccionar una carpeta con archivos XML y procesar múltiples comprobantes sin tener que revisarlos individualmente. Procesa varios archivos XML de CFDI. Extrae información de los comprobantes fiscales. Consulta el estado de los CFDI ante el servicio del SAT....

crear customer profile a nivel sitio Oracle Cloud SOAP

  En ocasiones necesitamos actualizar datos para muchos registros y para evitar hacer esto uno por uno, Oracle Cloud tiene disponibles herramientas como SOAP Web Services y REST API Services.


En esta publicación vamos agregar un perfile para un cliente en el modulo de AR (Account Receivable o de Cuentas por Cobrar) 

Primero vamos a la liga de documentacion https://docs.oracle.com/en/ y ahí buscamos en este caso la sección de finanzas

Luego seleccionamos Integrate

Seleccionamos Review  SOAP Web Services

Dentro buscamos la sección de Customer Profile


Vamos a utilizar la URL que viene en esa pantalla


Service WSDL URL: https://servername/fscmService/ReceivablesCustomerProfileService?WSDL

Vamos a entrar a Postman y desde ahí vamos armar el xml , primero vamos agregar un request


Luego vamos a poner el tipo Post y vamos a poner la URL que vimos dos pasos atrás, solo tengan cuidado de cambiar el nombre de su servidor URL: https://servername/fscmService/ReceivablesCustomerProfileService?WSDL


Después vamos agregar nuestras credenciales de acceso a Oracle , en la sección de authorization , en la parte de Body vamos a marcar raw y XML.



Y en Body vamos a colocar el siguiente código de XML


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/types/" xmlns:cus="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/" xmlns:cus1="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileDff/" xmlns:cus2="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileGdf/">
    <soapenv:Header/>
    <soapenv:Body>
        <typ:createCustomerProfile>
            <typ:customerProfile>
                <!--Optional:-->
                <cus:AccountNumber>CODIGO_CUENTA</cus:AccountNumber>
                <!--Optional:-->
                <cus:SiteNumber>CODIGO_SITE_NUMBER</cus:SiteNumber>
                <cus:ProfileClassName>PROFILE</cus:ProfileClassName>
                <!--Optional:-->
                <cus:CustomerAccountId>CUSTOMER_ID</cus:CustomerAccountId>
                <cus:PartyId>PARTY_ID</cus:PartyId>
                <!--Optional:-->
                <cus:EffectiveStartDate>2020-09-16</cus:EffectiveStartDate>
            </typ:customerProfile>
        </typ:createCustomerProfile>
    </soapenv:Body>
</soapenv:Envelope>

Los campos en negrita son los valores que deben cambiar
  • CODIGO_CUENTA , este valor corresponde al código de cuenta del cliente que queremos actualizar
  • CODIGO_SITE_NUMBER, este valor corresponde al numero de sitio al que queremos agregar el perfil
  • PROFILE,es el valor de la clase que queremos utilizar en nuestro profile por ejemplo puedes utilizar DEFAULT
  • CUSTOMER_ID, este valor corresponde al ID del codigo de cuenta del campo CODIGO_CUENTA, este es un valor numerico
  • PARTY_ID, es un valor numerico y hace referncia l numero ID de la organizacion
  • 2020-09-16, este valor es la fecha de inicio de vigencia de nuestra clase
NOTA: se crea un nuevo profile, el profile anterior lo cierra colocando fecha de fin el día en que se ejecuta el proceso

Si lo que quieres es agregar el PROFILE a nivel cuenta, te comparto la publicación donde explicamos como hacerlo

Esperamos les sea de utilidad esta publicación y nos compartan

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Cómo crear un Predictor de Partidos de Fútbol con JavaScript y API-Football