Skip to content

Integrar Cargoffer con Sage 50 / ContaPlus

Búsqueda objetivo: "cómo integrar bolsa de carga con sage 50", "api transporte contasol"

¿Por qué integrar?

Sage 50 (antes ContaPlus) es el ERP más usado por PYMEs de transporte en España. Integrarlo con Cargoffer permite:

  • Facturación automática desde contratos de transporte firmados
  • Conciliación de pagos recibidos vía Stripe
  • Exportación de gastos por ruta (peajes, combustible)
  • Sincronización bidireccional de clientes y proveedores

Flujo de integración

  1. Obtienes contratos firmados via GET /api/auction/contract/{serviceCode}
  2. Extraes importe, cliente, fecha
  3. Generas factura en Sage 50 mediante su API
  4. Marcas como facturado en Cargoffer con POST /api/payment/invoice

Webhook para automatización

Registra un webhook para recibir contratos firmados en tiempo real:

bash
curl -X POST "https://api.pro.cargoffer.com/api/webhook" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://tu-sistema.com/webhook/sage", "events": ["contract.signed", "payment.received"]}'

Cuando se firme un contrato, recibirás automáticamente los datos para generar la factura en Sage.

Obtener contratos firmados para facturar

bash
curl -X GET "https://api.pro.cargoffer.com/api/auction/contract/{serviceCode}" \
  -H "Authorization: Bearer <token>"

# Listar contratos pendientes
curl -X GET "https://api.pro.cargoffer.com/api/auction/contract/pending" \
  -H "Authorization: Bearer <token>"

Crear factura desde contrato

bash
curl -X POST "https://api.pro.cargoffer.com/api/payment/invoice" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"contractId": "SRV-001", "amount": 1250.00, "clientCif": "B12345678", "concept": "Transporte Madrid-Barcelona"}'

Código Python

python
import requests

TOKEN = "tu_token_aqui"

def facturar_contratos_pendientes():
    """Factura automáticamente contratos firmados"""
    headers = {"Authorization": f"Bearer {TOKEN}"}
    
    # 1. Obtener contratos pendientes
    contracts = requests.get(
        "https://api.pro.cargoffer.com/api/auction/contract/pending",
        headers=headers
    ).json()
    
    # 2. Facturar cada uno
    for c in contracts:
        invoice = {
            "contractId": c["serviceCode"],
            "amount": c["amount"],
            "clientCif": c["client"]["cif"],
            "concept": f"Transporte {c['serviceCode']}"
        }
        r = requests.post(
            "https://api.pro.cargoffer.com/api/payment/invoice",
            headers=headers, json=invoice
        )
        print(f"Facturado: {c['serviceCode']} - {r.status_code}")

Documentación de Cargoffer