VendMetric
Solicitar una demo

Patrón

Bloquee pagos a proveedores según el cumplimiento

El punto de conectar VendMetric a sus sistemas: dejar de pagarle a proveedores que han dejado vencer un documento requerido. Aquí está el patrón, usando la API de lectura y los webhooks.

La idea

Antes de que su proceso de cuentas por pagar libere un pago, le hace una pregunta a VendMetric: ¿este proveedor está en cumplimiento ahora mismo? Si no, el pago se retiene y se notifica a la persona correcta, hasta que el proveedor arregle lo que falta. Quitar esta verificación después significa cambiar un control financiero, que es exactamente el punto.

Paso 1: verifique al momento del pago

Cuando un pago está por liberarse, llame al punto de acceso de cumplimiento para ese proveedor y lea is_compliant.

async function vendorIsCompliant(vendorId) {
  const res = await fetch(
    `https://app.vendmetric.com/api/v1/vendors/${vendorId}/compliance`,
    { headers: { Authorization: `Bearer ${process.env.VENDMETRIC_KEY}` } },
  );
  if (!res.ok) return { ok: false, reason: "compliance check unavailable" };
  const { data } = await res.json();
  return {
    ok: data.is_compliant,
    reason: data.action_needed.map((r) => r.document_type_name).join(", "),
  };
}

// In your payment release step:
const check = await vendorIsCompliant(vendor.vendmetricId);
if (!check.ok) {
  holdPayment(payment, `Vendor not compliant: ${check.reason}`);
  notifyProcurement(vendor, check.reason);
}

Decida su propia política para el caso raro en que la verificación misma no esté disponible (retener, o permitir con una marca). VendMetric falla ruidosamente con un código distinto de 200 en lugar de fingir que un proveedor está en cumplimiento.

Paso 2: libere la retención automáticamente

En lugar de volver a verificar con un temporizador, suscríbase al webhook vendor.compliance_changed. Cuando un proveedor retenido vuelve a estar en cumplimiento, libere el pago.

// Your webhook receiver (verify the signature first, see the API reference)
app.post("/webhooks/vendmetric", (req, res) => {
  if (!verify(req.rawBody, req.headers["x-vendmetric-signature"], SECRET)) {
    return res.sendStatus(401);
  }
  const { event, data } = req.body;
  if (event === "vendor.compliance_changed" && data.compliance === "COMPLIANT") {
    releaseHeldPayments(data.vendor_id);
  }
  res.sendStatus(200);
});

Lo que obtiene

  • Ningún pago sale sin una verificación de cumplimiento vigente.
  • Las retenciones se resuelven solas en el momento en que el proveedor arregla la brecha.
  • Toda la decisión es evidencia: la verificación, la retención y la liberación son todas rastreables al estado de VendMetric en ese momento.

Empiece con la referencia de la API, o hable con nosotros sobre sus sistemas.