Sismos en México: análisis de 363,329 eventos con Python

Imagen
¿Dónde se registran más sismos en México? ¿Las entidades con más eventos también concentran los sismos de mayor magnitud? ¿Qué años destacan? En este proyecto exploramos estas preguntas utilizando datos del Servicio Sismológico Nacional (SSN) y herramientas de Data Science. URL :http://www2.ssn.unam.mx:8080/catalogo/  Los datos: más de 363 mil registros sísmicos Para este análisis utilizamos el catálogo de sismos publicado por el Servicio Sismológico Nacional de la UNAM . El conjunto de datos contiene información sobre eventos sísmicos registrados en México, incluyendo fecha, hora, magnitud, coordenadas geográficas, profundidad y referencia de localización. El catálogo utilizado contiene registros desde agosto de 2000 hasta agosto de 2026 . Después de revisar y preparar la información contamos con: 363,329 eventos sísmicos ...

Oracle Fusion Cloud: Crear Adjustment en AR con SOAP API (Ejemplo Completo + Payload XML)

Oracle Fusion Cloud: Crear Adjustment en AR con SOAP API (Ejemplo Completo)

En Oracle Fusion Cloud Financials es común necesitar generar Adjustments (autoajustes) en Accounts Receivable (AR) cuando una factura debe cancelarse, corregirse o ajustarse por motivos fiscales o contables.

En este artículo te muestro un caso real de integración utilizando la SOAP API de Oracle Fusion Cloud para crear un Adjustment en AR desde Postman, incluyendo el endpoint utilizado, el payload XML completo y cómo obtener los IDs necesarios.


📌 Escenario funcional

Necesitamos crear un autoajuste sobre una factura existente debido a una cancelación fiscal en México. El ajuste debe:

  • Aplicarse a una factura específica
  • Registrar motivo de cancelación
  • Impactar contablemente en la fecha correcta (GL Date)
  • Actualizar campos fiscales mediante DFF

🔗 Endpoint SOAP utilizado

La integración fue ejecutada desde Postman utilizando el siguiente endpoint:

https://servername.oraclecloud.com:443/fscmService/AdjustmentService

Operación SOAP: createAdjustment

Método: POST

Autenticación: Basic Auth (según configuración del entorno)

Este servicio pertenece al módulo de Receivables dentro de Oracle Fusion Financials.


📦 Payload XML completo (valores dummy)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:typ="http://xmlns.oracle.com/apps/financials/receivables/transactions/adjustments/adjustmentService/types/"
xmlns:adj="http://xmlns.oracle.com/apps/financials/receivables/transactions/adjustments/adjustmentService/"
xmlns:adj1="http://xmlns.oracle.com/apps/financials/receivables/transactions/adjustments/model/flex/AdjustmentsDff/"
xmlns:adj2="http://xmlns.oracle.com/apps/flex/financials/receivables/transactions/adjustments/AdjustmentGdf/">

<soapenv:Header/>
<soapenv:Body>
<typ:createAdjustment>
<typ:adjustment>

<adj:AdjustmentType>M</adj:AdjustmentType>

<adj:Amount currencyCode="MXN">-1000.00</adj:Amount>

<adj:ApplyDate>2026-01-01</adj:ApplyDate>

<adj:CustomerTrxId>300000000000001</adj:CustomerTrxId>

<adj:GlDate>2026-01-01</adj:GlDate>

<adj:OrgId>300000000000002</adj:OrgId>

<adj:PaymentScheduleId>300000000000003</adj:PaymentScheduleId>

<adj:ReasonCode>REEMPLAZO</adj:ReasonCode>

<adj:ReceivablesTrxId>300000000000004</adj:ReceivablesTrxId>  

<adj:SetOfBooksId>300000000000005</adj:SetOfBooksId>

<adj:CurrencyCode>MXN</adj:CurrencyCode>

<adj:TransactionAdjustmentType>INVOICE</adj:TransactionAdjustmentType>

<adj:AdjustmentFLEX>
<adj1:__FLEX_Context>Context_name</adj1:__FLEX_Context>
<adj1:__FLEX_Context_DisplayValue>context</adj1:__FLEX_Context_DisplayValue>
<adj1:_FLEX_NumOfSegments>2</adj1:_FLEX_NumOfSegments>
<adj1:motivo>01</adj1:motivo>
<adj1:notas>cancelarfacturaprueaba</adj1:notas>
</adj:AdjustmentFLEX>

</typ:adjustment>
</typ:createAdjustment>
</soapenv:Body>
</soapenv:Envelope>

🔎 ¿Cómo obtener los IDs necesarios?

Para que el payload funcione correctamente, es necesario obtener los IDs técnicos desde Oracle Fusion.

Los principales campos requeridos son:

  • CustomerTrxId → ID interno de la factura
  • PaymentScheduleId → Schedule asociado
  • ReceivablesTrxId → Tipo de transacción AR
  • OrgId → Business Unit
  • SetOfBooksId → Ledger

📊 Ejemplo de consulta SQL

SELECT
    rcta.CUSTOMER_TRX_ID,
    rcta.TRX_NUMBER,
    apsa.PAYMENT_SCHEDULE_ID,
    rcta.ORG_ID
FROM
    RA_CUSTOMER_TRX_ALL rcta
JOIN
    AR_PAYMENT_SCHEDULES_ALL apsa
ON
    rcta.CUSTOMER_TRX_ID = apsa.CUSTOMER_TRX_ID
WHERE
    rcta.TRX_NUMBER = 'TU_NUMERO_FACTURA';

Esta consulta permite obtener los IDs necesarios antes de enviar el request SOAP.


⚠️ Errores comunes al crear Adjustments vía API

  • Periodo contable cerrado
  • PaymentScheduleId incorrecto
  • ReasonCode no configurado
  • Business Unit incorrecta
  • DFF no habilitado en el entorno

Configurar la petición en Postman

Ahora entraremos a Postman para construir nuestro request SOAP.

Guía para ejecutar el API desde Postman

Selecciona el método POST y utiliza la URL del servicio reemplazando servername por tu servidor:

https://servername.oraclecloud.com:443/fscmService/AdjustmentService

Después agrega tus credenciales en la sección Authorization y en Body selecciona raw → XML.



🔗 Ver también

Si necesitas actualizar campos adicionales mediante DFF en Oracle AR, revisa también esta guía:

Oracle Fusion: Actualizar DFF en AR usando API SOAP


🚀 Automatización empresarial

Este tipo de integración puede escalarse mediante procesos batch, middleware o integraciones externas, reduciendo errores manuales y mejorando la trazabilidad financiera.

En entornos corporativos, automatizar ajustes en AR mediante API permite mayor control, auditoría y eficiencia operativa.

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