Skip to content

Catalogos

CatalogRegistry centraliza codigos frecuentes para payloads XML sin dejar valores sueltos quemados en la aplicacion. Los valores por defecto vienen de la ficha tecnica oficial offline v2.26 y del anexo ICE.

Uso

php
use MTZ\Toolkit\Catalogs\Catalogs;

$catalogRegistry = Catalogs::registry();

$vat = $catalogRegistry->get('vat-rates', '4');
$paymentMethods = $catalogRegistry->list('payment-methods');
$vatWithholding = $catalogRegistry->list('vat-withholding');
$metadata = $catalogRegistry->getMeta('vat-rates');

PHP reserva list como nombre de metodo declarado. Por eso el metodo formal es entries(), pero $catalogRegistry->list(...) funciona mediante __call() para mantener compatibilidad con la forma de API del paquete TypeScript de referencia.

php
$paymentMethods = $catalogRegistry->entries('payment-methods');

Catalogos Disponibles

CatalogoUso principal
identification-typesIdentificacion de comprador, sujeto retenido, proveedor y transportista
document-typescodDoc, documentos sustento y claves de acceso
payment-methodsformaPago dentro de pagos
vat-ratescodigoPorcentaje cuando el impuesto codigo es 2
vat-withholdingcodigoRetencion cuando se retiene IVA
tax-codesValores codigo de impuestos y retenciones
support-codescodSustento en comprobantes de retencion
ice-ratesValores ICE para codigoPorcentaje; la tarifa se calcula segun la normativa vigente

Codigos Frecuentes

Tipos De Identificacion

CodigoTipo
04RUC
05Cedula
06Pasaporte
07Consumidor final
08Identificacion del exterior

IVA

CodigoTarifaNotas
00%IVA 0%
212%Historico
314%Historico
415%Tarifa comun vigente
55%Agregado por la ficha tecnica v2.26
60%No objeto de impuesto
70%Exento de IVA
8variableIVA diferenciado
1013%Agregado por la ficha tecnica v2.26

Formas De Pago

CodigoDescripcion
01Sin utilizacion del sistema financiero
15Compensacion de deudas
16Tarjeta de debito
17Dinero electronico
18Tarjeta prepago
19Tarjeta de credito
20Otros con utilizacion del sistema financiero
21Endoso de titulos

Retencion IVA

CodigoPorcentaje
910%
1020%
130%
1150%
270%
3100%
70%, retencion en cero
80%, no procede retencion

Catalogo completo: usa $catalogRegistry->list('vat-withholding').

Sobreescritura En Ejecucion

Cuando cambie una tarifa o codigo, puedes sobreescribir un catalogo sin esperar una nueva version:

php
$catalogRegistry->override('vat-rates', [
    '4' => ['code' => '4', 'description' => 'VAT 16%', 'rate' => 16],
], [
    'source' => 'Internal resolution',
    'updatedAt' => '2026-06-01',
]);

$catalogRegistry->reset('vat-rates');
$catalogRegistry->resetAll();

Documentos Soportados

La ficha oficial lista seis tipos de comprobantes electronicos:

CodigoDocumentoClave de accesoXMLMaker
01FacturaSiSi
03Liquidacion de compraSiSi
04Nota de creditoSiSi
05Nota de debitoSiSi
06Guia de remisionSiSi
07Comprobante de retencionSiSi

Publicado bajo licencia MIT.