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.34 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');

Lista todos los catalogos y sus metadatos (fuente y fecha):

php
$catalogRegistry->listCatalogs();       // nombres de catalogo
$catalogRegistry->getMeta('ice-rates'); // source, updatedAt, notes

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.