TRANSCEND IAM + Pay + Profiles con Contasol / A3
Lo que conecta
Los datos de TRANSCEND Platform (IAM usuarios, Pay facturación, Profiles empresas) se exportan a Contasol/A3 mediante CSV estructurados para su contabilización y gestión de maestros.
Datos que fluyen
| Módulo TRANSCEND | Dato | Contasol / A3 | Para qué |
|---|---|---|---|
| IAM | Usuarios, roles | Fichas de empleado | Control de accesos y roles |
| Pay | Facturas, pagos | Asientos contables | Contabilizar ingresos/gastos |
| Profiles | Empresas, datos fiscales | Maestro de clientes | Sincronizar datos fiscales |
Exportar facturas de Pay a Contasol
python
import csv, requests
from datetime import date
TOKEN = "tu_token_transcend"
hoy = date.today()
# Facturas del mes desde TRANSCEND Pay
facturas = requests.get(
"https://back.transcend.cargoffer.com/pay/api/invoices",
headers={"Authorization": f"Bearer {TOKEN}"}
).json()
with open(f"asientos_transcend_{hoy}.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f, delimiter=";")
writer.writerow(["Diario", "Fecha", "Cuenta", "Debe", "Haber", "Concepto", "Cliente"])
for inv in facturas:
writer.writerow([
"VT", # Diario de ventas
inv.get("date", str(hoy))[:10],
"70500001", # Ingresos por suscripciones
inv.get("total", 0),
"",
inv.get("description", "Suscripción TRANSCEND"),
inv.get("companyId", "")
])
writer.writerow([
"VT",
inv.get("date", str(hoy))[:10],
"57200001", # Banco / contrapartida
"",
inv.get("total", 0),
"Contrapartida suscripción TRANSCEND",
inv.get("companyId", "")
])Exportar perfiles de empresa (Profiles) a Contasol
python
def exportar_perfiles_contasol():
empresas = requests.get(
"https://back.transcend.cargoffer.com/profiles/api/companies",
headers={"Authorization": f"Bearer {TOKEN}"}
).json()
with open(f"clientes_transcend_{hoy}.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f, delimiter=";")
writer.writerow(["Código", "Nombre", "NIF", "Dirección", "Población", "Teléfono", "Email"])
for e in empresas:
writer.writerow([
e.get("id", ""),
e.get("legalName", e.get("displayName", "")),
e.get("taxId", ""),
e.get("address", {}).get("street", ""),
e.get("address", {}).get("city", ""),
e.get("phone", ""),
e.get("email", "")
])Importar en Contasol
Para asientos contables: Utilidades -> Importar -> Asientos -> Seleccionar CSV -> Asignar columnas -> Ejecutar
Para maestro de clientes: Maestros -> Clientes -> Importar -> CSV -> Mapear campos -> Aceptar
Automatización
bash
# Exportación automática cada lunes a las 7:00
0 7 * * 1 cd /scripts && python exportar_transcend_contasol.py