How to Get Exchange Rates in Excel Automatically Using a Free API (VBA Step-by-Step)

Imagen
How to Get Exchange Rates in Excel Automatically Using a Free API (VBA Step-by-Step) Automate exchange rates in Excel in minutes. In this guide, you’ll learn how to retrieve currency data from multiple countries (including African currencies) using a free API and VBA. This example is perfect if you work with financial reports, currency analysis, or need updated data without manual input. 🚀 What will you learn? How to get real-time exchange rates in Excel How to use a free API (no API key required) How to automate Excel with VBA How to retrieve multiple currencies (USD, MXN, EUR, ZAR, NGN, etc.) 🌍 Free Exchange Rate API For this example, we will use the following free API: 👉 https://open.er-api.com/v6/latest/USD Advantages: No API key required 150+ currencies available Includes African currencies Daily updated data (not historical) 💻 VBA Macro to Get Exchange Rates in Excel Copy and paste this code into a VBA module: Sub GetExchangeRates(...

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)

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