Skip to content

TRANSCEND IAM + Pay + Profiles con Sage 50

Lo que conecta

TRANSCEND Platform expone IAM (autenticación y usuarios), Pay (facturación y suscripciones) y Profiles (perfiles de empresa). Estos datos se exportan a Sage 50 como asientos contables y maestros de cliente mediante CSV.

Datos que fluyen

Módulo TRANSCENDDatoSage 50Para qué
IAMUsuarios, rolesMaestro de empleadosVincular usuarios con centros de coste
PayFacturas, pagosAsientos contablesContabilizar ingresos/gastos recurr.
ProfilesDatos de empresaMaestro de clientesSincronizar datos fiscales

Exportar IAM usuarios a Sage

python
import csv, requests

TOKEN = "tu_token_transcend"

# Obtener usuarios de TRANSCEND IAM
usuarios = requests.get(
    "https://back.transcend.cargoffer.com/iam/api/users",
    headers={"Authorization": f"Bearer {TOKEN}"}
).json()

with open("usuarios_transcend.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f, delimiter=";")
    writer.writerow(["Email", "Nombre", "Rol", "Empresa"])
    for u in usuarios:
        writer.writerow([
            u.get("email", ""),
            u.get("displayName", ""),
            u.get("role", ""),
            u.get("companyName", "")
        ])

Exportar facturas de Pay a Sage

python
import csv, requests
from datetime import date

TOKEN = "tu_token_transcend"

facturas = requests.get(
    "https://back.transcend.cargoffer.com/pay/api/invoices?status=paid",
    headers={"Authorization": f"Bearer {TOKEN}"}
).json()

with open(f"facturas_pay_{date.today()}.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f, delimiter=";")
    writer.writerow(["Fecha", "Cuenta", "Importe", "Concepto", "Cliente"])
    for f in facturas:
        writer.writerow([
            f.get("date", "")[:10],
            "70500001",  # Cuenta de ingresos
            f.get("total", 0),
            f.get("description", "Suscripción TRANSCEND"),
            f.get("companyId", "")
        ])

Importar en Sage 50

Archivo -> Importar -> CSV -> Seleccionar archivo -> Asignar columnas -> Ejecutar

Los CSV generados se importan directamente desde el menú de Sage 50 usando el asistente de importación de asientos contables.

Automatización con cron

bash
# Ejecutar exportación cada día a las 6:00
0 6 * * * cd /scripts && python exportar_transcend_sage.py

Documentación relacionada

Documentación de Cargoffer