¿Por qué algunos países prosperan y otros no? Confianza social, tecnología y desarrollo

Imagen
Confianza social, tecnología y desarrollo: ¿por qué algunos países prosperan y otros no? En los últimos años he tenido la oportunidad de visitar varios países que han marcado profundamente mi forma de ver el desarrollo económico. He estado en Japón y visité Hiroshima, una ciudad que fue destruida por una bomba atómica y que hoy es una ciudad moderna y ordenada. También visité Corea del Sur, un país que hace pocas décadas era uno de los más pobres del mundo y que hoy es líder en tecnología e innovación. Y he visto Alemania, que después de dos guerras mundiales logró reconstruirse y convertirse nuevamente en una de las economías más fuertes del mundo. Estas experiencias generan una pregunta inevitable: ¿por qué algunos países logran reconstruirse y prosperar incluso después de enormes crisis, mientras que otras regiones con grandes recursos naturales siguen enfrentando dificultades para desarrollarse? Una posible respuesta está en un concepto muy estudiado en economía...

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

API de banxico para obtener tipo de cambio utilizando Javascript

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)