Skip to main content

MH catalogs

The API Connect uses two kinds of reference catalogs:

  • Live — exposed as endpoints, queryable in real time. Use them when you need the full list or a filtered subset.
  • Static — fixed enumerated values that don't change. You send them as literals in your requests.

Live catalogs (endpoints)

Economic activities

List from MH CAT-019 catalog — required for activity_code on the CCF customer and for the issuer's activity_code.

MethodGET
URLhttps://ocote.io/api/connect/catalogs/activities
Query paramssearch (optional) — filters by code or description.
AuthenticationHeader Authorization: Bearer odt_...

Example:

curl "https://ocote.io/api/connect/catalogs/activities?search=software" \
-H "Authorization: Bearer odt_xxx"
[
{ "code": "62010", "description": "Programación informática" },
{ "code": "62020", "description": "Consultoría de informática" },
{ "code": "62090", "description": "Otras actividades de tecnologías de la información y servicios informáticos" }
]

The endpoint returns at most 50 results per call. Without search, it returns the first 50. Descriptions are in Spanish (MH's operating language).

Departments and municipalities

List of CAT-012 (departments) and CAT-013 (municipalities) grouped together.

MethodGET
URLhttps://ocote.io/api/connect/catalogs/departments
AuthenticationHeader Authorization: Bearer odt_...
curl https://ocote.io/api/connect/catalogs/departments \
-H "Authorization: Bearer odt_xxx"

Response (abbreviated):

[
{
"code": "06",
"name": "San Salvador",
"municipalities": [
{ "code": "0601", "name": "Aguilares" },
{ "code": "0614", "name": "San Salvador Centro" },
{ "code": "0615", "name": "San Salvador Este" }
]
},
{
"code": "09",
"name": "Santa Ana",
"municipalities": [
{ "code": "0901", "name": "Coatepeque" },
{ "code": "0909", "name": "Santa Ana Centro" }
]
}
]
How to use these codes in requests

In the customer or excluded-subject payload, they are sent separately as department + municipality:

  • department = the first 2 digits of the department code (e.g. "06" for San Salvador).
  • municipality = the last 2 digits of the municipality code (e.g. for San Salvador Centro "0614" → send "14").

Correct: "department": "06", "municipality": "14" Incorrect: "department": "06", "municipality": "0614"

Measurement units

List of MH CAT-014 catalog.

MethodGET
URLhttps://ocote.io/api/connect/catalogs/units
AuthenticationHeader Authorization: Bearer odt_...
curl https://ocote.io/api/connect/catalogs/units \
-H "Authorization: Bearer odt_xxx"

Units are informational. The API Connect uses 99 (Other) by default for all issued lines, since wildcard items do not require specific units. The list is exposed for completeness.

Static catalogs

Contributor types

Used in customer.type_contributor on Invoice, CCF, and Export requests.

ValueType
1Small Contributor
2Medium Contributor
3Large Taxpayer — automatic 1% VAT withholding if base ≥ $100
4Government — automatic 1% VAT withholding if base ≥ $100

See Wildcard items > VAT withholding.

Recipient/subject identifier document types

Used in customer.document_type and subject.document_type.

CodeDocument
"02"Resident Card
"03"Passport
"13"DUI (Salvadoran National ID) — default
"36"NIT — default for customers with nit
"37"Other

SUEX accepts only these 5 values (the API validates explicitly). Invoice/CCF/Export allow these and other MH codes, but most integrations use 13 (individuals) or 36 (companies).

Payment methods

Used in payment_method. MH CAT-017 catalog.

CodePayment method
"01"Bills and coins (Cash) — default
"02"Debit Card
"03"Credit Card
"04"Check
"05"Transfer / Bank Deposit
"08"Electronic money
"09"Electronic wallet
"10"Non-bank transfer
"11"Remittance
"12"Barter
"13"Other non-listed means
"14"Accounts payable
"15"Bank draft
"99"Other

Operation conditions

Used in transaction_condition. MH CAT-016 catalog.

ValueCondition
1Cash — default
2Credit
3Other

When transaction_condition: 2, the fields deadline (days) and period become relevant to specify credit terms.

Environments

Used in the signed DTE (identificacion.ambiente field). Not sent in the payload — derived from your company configuration.

CodeEnvironment
"00"Test / QA
"01"Production

See Environment and base URL for how this is configured.

DTE document types

CodeDocumentEndpoint
"01"InvoicePOST /invoice with doc_type: "01"
"03"Tax Credit Voucher (CCF)POST /invoice with doc_type: "03"
"05"Credit NotePOST /credit-memo
"11"Export InvoicePOST /invoice with doc_type: "11"
"14"Excluded SubjectPOST /suex

The current API Connect does not expose types 04 (Shipping Note), 06 (Debit Note), 07 (Withholding Voucher), 08 (Settlement Voucher), 09 (Accounting Settlement), 15 (Donation Voucher). If your integration needs them, contact Ocote.

See also