heruAPI

Companies

Your razones sociales in heru, and which of them can issue with each credential.

A company is one of your razones sociales: an RFC that issues CFDI through heru. heru registers your companies with your contract and gives each one an id like cmp_01m1heqf2te4zb3zdsya2gqb41. Ask your account team for the ids.

Which company issues

When you create an invoice or a retention certificate without an issuer, the company of your credential issues it. To issue for another of your companies, send its id:

{ "issuer": { "company_id": "cmp_01m1hf02wkfa9shr2eh9b7zr41" } }
  • A credential of one company issues only for that company. issuer.company_id is optional and must be that company.
  • A credential that covers several of your companies needs issuer.company_id on every call; without it the request answers 422 COMPANY_REQUIRED.
  • Any id that is not one of your companies answers 422 COMPANY_NOT_ALLOWED.

Your company's CSD

To issue a CFDI in your company's name, heru needs its CSD (Certificado de Sello Digital): the .cer, the .key and the password of the key. heru keeps them for you and uses them only to seal the invoices and retention certificates you ask for through the API.

  • How heru receives it. Your account team sets up a secure channel to send the files when the company is registered. There is no API to upload a company's CSD; merchants upload theirs with PUT /merchants/{id}/csd.
  • Where it lives. Encrypted, in heru's secret store, never in a request body, a log or a database row, and never readable through the API.
  • Expiry. A CSD lasts up to four years. heru warns your account team 30 days before it expires. Request the new one from the SAT with the company's e.firma and send it the same way; the old one keeps working until then.
  • When it fails. If the CSD expired or the SAT revoked it, issuing answers 422 COMPANY_CSD_NOT_ACTIVE and nothing is stamped. See Invoices and certificates errors.
  • Your agreement. Who may use the CSD and for what is set in your contract with heru. You can ask heru to delete it at any time; issuing stops until you send a new one.

As receiver

When one of your companies receives the CFDI, send receiver.company_id instead of its RFC, name, regime and postal code: heru fills them from its SAT data.

In development

Your development credentials issue for the companies your account team registered there, each with a CSD of the SAT test environment. Leave issuer out to issue as the only one, or send issuer.company_id when there are several.

Companycompany_idRFC
PLATAFORMA DEMOcmp_01m1heqf2te4zb3zdsya2gqb41PDE180514R21
PLATAFORMA DEMO PAGOScmp_01m1hf02wkfa9shr2eh9b7zr41PDP190820LK6
© 2026 Kuarto Inc. (heru)heru.appQuestions about your integration? Contact your heru account team.

On this page