ESTADO DE CARTERA 14 DE AGOSTO DE 2026 MODO PRESENTACIÓN

Cartera Aluminio de Baja California

Clientes y proveedores · posición de atraso al día de hoy
Sube aquí los CSV más recientes para refrescar la página: el reporte de Factoraje a Clientes (columnas BUYER / SALDO ACTUAL / DIAS VENCIDOS / BUCKET) y/o los reportes de Factoraje a Proveedores (FaP Normal / FaP LPP). Puedes subir uno, dos o los tres a la vez — se detectan solos y se actualiza únicamente lo que subas; lo demás se queda igual.
Procesar archivos
Restaurar datos originales
Proveedores liquidado (poner en $0)
Verifica que esta fecha sea la de hoy antes de procesar (solo aplica a los reportes de Proveedores; si subes también el de Clientes, el corte se recalcula automático a partir de ese archivo). Si la fecha queda mal, los totales generales no cambian, pero la columna del bucket (1–20 / 21–30 / 31–60 / 61–90) de las facturas que estén justo en el límite puede salir incorrecta.
Si al correr las queries de FaP Normal / FaP LPP no sale ninguna fila (porque ya no hay nada vigente/atrasado en proveedores), no hay archivo que subir — usa el botón "Proveedores liquidado" para poner esa sección en USD 0 en vez de dejarla con el último dato subido.
Queries para actualizar los reportes (uso interno)
Cada vez que se actualice la cartera: corre las 3 queries de abajo en Snowflake, descarga el resultado de cada una como CSV, y súbelos aquí arriba en "Actualizar datos" (puedes subir los 3 a la vez o uno por uno — la página detecta solo cuál es cuál).
  1. Corre la query
  2. Exporta / descarga el resultado como CSV
  3. Súbelo en "Choose Files" arriba
  4. Verifica que la fecha de corte sea la de hoy
  5. Dale clic a "Procesar archivos"
1. Factoraje a Clientes → reporte de Factoraje a Clientes Copiar
WITH INVOICE_ADVANCES AS (
  SELECT
    UPPER(b.Tax_id) AS "RFC CLIENTE",
    UPPER(b.NAME) AS "CLIENTE",
    UPPER(get(ia.buyer, 'name')) :: VARCHAR AS "COMPRADOR",
    get(ia.invoice, 'internalIdentifier') :: VARCHAR AS "ID / FOLIO",
    get(ia.invoice, 'amount') :: DECIMAL(9, 2) AS "MONTO FACTURA",
    ADVANCE_DATE AS "FECHA ADELANTO",
    DUE_DATE AS "FECHA VENCIMIENTO",
    EFFECTIVE_ADVANCE AS "ADELANTO",
    CURRENT_REMAINING_AMOUNT AS "SALDO ACTUAL",
    EFFECTIVE_COLLECTION AS "PAGOS",
    STATE AS "ESTATUS",
    timediff(DAY, DUE_DATE, CURRENT_DATE()) AS "DIAS VENCIDOS",
    EARLY_LATE_FEE AS "LATE FEES"
  FROM
    REPLICA_PROD.PROD_POSTGRES_INVOICEADVANCE.INVOICE_ADVANCES AS ia
    JOIN REPLICA_PROD.PROD_POSTGRES_CUSTOMER.BUSINESS_PRODUCT AS bp
      ON (bp.id = ia.business_product_id)
    JOIN REPLICA_PROD.PROD_POSTGRES_CUSTOMER.BUSINESS b
      ON bp.business:id = b.id
  WHERE UPPER(b.Tax_id) = 'ABC991012BF0'
)
, raw_data as (
  SELECT *, case when "DIAS VENCIDOS" <= 0 then 'On time'
              when "DIAS VENCIDOS" < 30 then 'LATE 30 days'
              when "DIAS VENCIDOS" BETWEEN 30 AND 60 then 'LATE 30-60 days'
              when "DIAS VENCIDOS" BETWEEN 61 AND 90 then 'LATE 61-90 days'
              when "DIAS VENCIDOS" BETWEEN 91 AND 120 then 'LATE 91-120 days'
              when "DIAS VENCIDOS" > 120 then  'LATE 121 or more'
  end as bucket
  FROM  INVOICE_ADVANCES
  WHERE ESTATUS IN ('advanced', 'delayed', 'late')
)
SELECT *
FROM raw_data
ORDER BY "FECHA ADELANTO", "CLIENTE", "COMPRADOR" ASC;
2. FaP Normal (proveedores) → reporte de Factoraje a Proveedores · Factoraje Normal Copiar
SELECT
    CB.NAME AS PROVEEDOR,
    IA.INVOICE_INTERNAL_IDENTIFIER AS INVOICE_ID,
    DATE_TRUNC(DAY, PROD.ADVANCE_DATE)::DATE AS FECHA_ADELANTO,
    DATE_TRUNC(DAY, PROD.DUE_DATE)::DATE AS FECHA_VENCIMIENTO,
    IA.INVOICE_AMOUNT AS MONTO_FACTURA,
    IA.FEE_AT_DUE AS COSTO_VENCIMIENTO,
    IA.ADVANCE_AMOUNT AS MONTO_ADELANTADO,
    -- Moratorios en 0 si es vigente o periodo de gracia
    CASE
        WHEN PROD.STATE IN ('advanced', 'delayed') THEN 0
        WHEN IA.EARLY_LATE_FEE <= 0 THEN 0
        WHEN COALESCE(IA.POST_ADJUSTMENT, 0) <= 0 THEN IA.EARLY_LATE_FEE
        ELSE GREATEST(
            IA.EARLY_LATE_FEE - IA.POST_ADJUSTMENT,
            0
        )
    END AS LATE_FEE_REAL,
    -- Total a pagar = Monto factura + Late fee real - Pagos aplicados
    IA.INVOICE_AMOUNT
        + (
            CASE
                WHEN PROD.STATE IN ('advanced', 'delayed') THEN 0
                WHEN IA.EARLY_LATE_FEE <= 0 THEN 0
                WHEN COALESCE(IA.POST_ADJUSTMENT, 0) <= 0 THEN IA.EARLY_LATE_FEE
                ELSE GREATEST(
                    IA.EARLY_LATE_FEE - IA.POST_ADJUSTMENT,
                    0
                )
            END
        )
        - IA.EFFECTIVE_COLLECTION AS TOTAL_A_PAGAR,
    CASE
        WHEN PROD.STATE IN ('settlementCompleted', 'paid') THEN 'Saldado'
        WHEN PROD.STATE = 'late' THEN 'Vencido'
        WHEN PROD.STATE = 'advanced' THEN 'Vigente'
        WHEN PROD.STATE = 'delayed' THEN 'Periodo de gracia'
        ELSE PROD.STATE
    END AS Estado,
    PROD.CURRENCY
FROM REPLICA_PROD.PROD_POSTGRES_INVOICEADVANCE.invoice_advances PROD
LEFT JOIN ANALYTICS.TRUSTED.CUSTOMER_BUSINESS CB
    ON PROD.BUSINESS_ID = CB.BUSINESS_ID
LEFT JOIN ANALYTICS.TRUSTED.INVOICEADVANCE_INVOICE_ADVANCES IA
    ON IA.invoice_advance_id = PROD.ID
LEFT JOIN ANALYTICS.TRUSTED.BUYER_BUYER BB
    ON IA.BUYER_ID = BB.BUYER_ID
WHERE BB.BUYER_ID IN ('ABC991012BF0')
AND IA.state IN ('advanced', 'delayed', 'late')
ORDER BY FECHA_VENCIMIENTO ASC;
3. FaP LPP (proveedores) → reporte de Factoraje a Proveedores · Línea para Proveedores Copiar
SELECT
    SUP.NAME AS Proveedor,
    II.INTERNAL_IDENTIFIER AS INVOICE_ID,
    IMF.PAID_AT::DATE AS FECHA_ADELANTO,
    IMF.due_date::date AS FECHA_VENCIMIENTO,
    II.AMOUNT AS MONTO_FACTURA,
    IMF.FEE_AT_DUE AS COSTO_VENCIMIENTO,
    IMF.APPROVED_PAYMENT_AMOUNT AS MONTO_ADELANTADO,
    -- Costo a la fecha en 0 si la factura está saldada
    CASE
        WHEN IMF.STATE = 'completed' THEN 0
        ELSE (IMF.CURRENT_REMAINING_AMOUNT - IMF.APPROVED_PAYMENT_AMOUNT)
    END AS COSTO_A_LA_FECHA,
    -- Moratorios en 0 si es negativo o si aún no ha vencido
    CASE
        WHEN IMF.EARLY_LATE_FEE < 0 THEN 0
        WHEN IMF.due_date::date > CURRENT_DATE THEN 0
        ELSE IMF.EARLY_LATE_FEE
    END AS COSTO_MORATORIO,
    IMF.current_remaining_amount AS SALDO_A_LA_FECHA,
    -- Mapeo de estados
    CASE
        WHEN IMF.STATE = 'completed' THEN 'Saldado'
        WHEN IMF.STATE = 'outstanding' THEN 'Vigente'
        WHEN IMF.STATE = 'late' THEN 'Vencido'
        WHEN IMF.STATE = 'delayed' THEN 'Periodo de gracia'
        ELSE IMF.STATE
    END AS Estado
FROM REPLICA_PROD.PROD_POSTGRES_IMPORT_PAYMENT.IMPORT_FINANCES IMF
JOIN REPLICA_PROD.PROD_POSTGRES_IMPORT_PAYMENT.IMPORT_INVOICES II
    ON IMF.INVOICE_ID = II.ID
JOIN REPLICA_PROD.PROD_POSTGRES_IMPORT_PAYMENT.SUPPLIERS SUP
    ON IMF.SUPPLIER_ID = SUP.ID
WHERE 1=1
  AND BUSINESS_ID = 'ecc3777b-bf74-4c53-b2d6-c218d275c8d9'
AND IMF.STATE in ('outstanding','late','delayed')
Deuda total hoy
Clientes (factoraje)
Proveedores (LPP + General)
Atraso total combinado
Vencido +30 días (combinado)
Vigente (no vencida)
1–20 días
21–30 días
31–60 días
61–90 días
Hoy
En 1 semana
En 2 semanas
Cuenta de pago (Factoraje a Clientes): 20000044815561
Vigente (no vencida)
1–20 días (atraso)
21–30 días (atraso)
31–60 días (atraso)
61–90 días (atraso)
Todos
1–20 días
21–30 días
31–60 días
61–90 días
Puedes seleccionar varios buckets a la vez (ej. 21–30 + 31–60 + 61–90). La fila de totales al final de la tabla suma solo lo que quede visible.
Cliente Vigente 1–20 días 21–30 días 31–60 días 61–90 días Total Atraso +20 hoy +30 hoy +30 en 1 sem. +30 en 2 sem.
Listado de facturas individuales, ordenado de la más atrasada a la menos atrasada. Incluye solo facturas con más de 20 días vencidos.
Factura Cliente Monto factura Saldo actual Días vencidos Fecha vencimiento
Vigente (no vencida)
1–20 días
21–30 días
31–60 días
61–90 días
Línea para Proveedores (LPP)
Vigente
1–20 días
21–30 días
31–60 días
61–90 días
Factoraje Normal
Vigente
1–20 días
21–30 días
31–60 días
61–90 días
Todos
1–20 días
21–30 días
31–60 días
61–90 días
Puedes seleccionar varios buckets a la vez. La fila de totales al final de la tabla suma solo lo que quede visible.
Proveedor / Cuenta Vigente 1–20 días 21–30 días 31–60 días 61–90 días Total Atraso +30 hoy +30 en 1 sem. +30 en 2 sem.
Línea para Proveedores (LPP) — todos los proveedores
Cuenta20000044815561
Factoraje Normal — cuenta propia de cada proveedor
Aluminitrade SA de CV20000044815694
TST, Inc20000044815671
Sociedad de Ingenieros Eléctricos y Electrónicos SA20000044815651
Fundimet SA de CV (referencia)20000013234058
Institución: JPMorgan Chase · Dirección: 19 West 24th Street, 10th Floor, New York, 10010 NY, United States. El nombre de beneficiario corresponde al de cada proveedor. Fundimet se incluye como referencia; aún no registra saldo abierto en Factoraje a Proveedores al corte actual.
Preparado a partir del reporte de Factoraje a Clientes (corte 14 de agosto de 2026) y los reportes de Factoraje a Proveedores (Línea para Proveedores / Factoraje Normal — sin saldo vigente ni vencido a esta fecha). La proyección de atraso a 1 y 2 semanas asume que las facturas actualmente abiertas no reciben pago adicional entre hoy y esa fecha. Cifras en USD.