// Catálogos SAT CFDI 4.0 para facturación

export const FORMAS_PAGO = [
  { clave: '01', descripcion: 'Efectivo' },
  { clave: '02', descripcion: 'Cheque nominativo' },
  { clave: '03', descripcion: 'Transferencia electrónica de fondos' },
  { clave: '04', descripcion: 'Tarjeta de crédito' },
  { clave: '05', descripcion: 'Monedero electrónico' },
  { clave: '06', descripcion: 'Dinero electrónico' },
  { clave: '08', descripcion: 'Vales de despensa' },
  { clave: '12', descripcion: 'Dación en pago' },
  { clave: '13', descripcion: 'Pago por subrogación' },
  { clave: '14', descripcion: 'Pago por consignación' },
  { clave: '15', descripcion: 'Condonación' },
  { clave: '17', descripcion: 'Compensación' },
  { clave: '23', descripcion: 'Novación' },
  { clave: '24', descripcion: 'Confusión' },
  { clave: '25', descripcion: 'Remisión de deuda' },
  { clave: '26', descripcion: 'Prescripción o caducidad' },
  { clave: '27', descripcion: 'A satisfacción del acreedor' },
  { clave: '28', descripcion: 'Tarjeta de débito' },
  { clave: '29', descripcion: 'Tarjeta de servicios' },
  { clave: '30', descripcion: 'Aplicación de anticipos' },
  { clave: '31', descripcion: 'Intermediario pagos' },
  { clave: '99', descripcion: 'Por definir' },
];

export const METODOS_PAGO = [
  { clave: 'PUE', descripcion: 'Pago en una sola exhibición' },
  { clave: 'PPD', descripcion: 'Pago en parcialidades o diferido' },
];

export const USOS_CFDI = [
  { clave: 'G01', descripcion: 'Adquisición de mercancías', personaFisica: true, personaMoral: true },
  { clave: 'G02', descripcion: 'Devoluciones, descuentos o bonificaciones', personaFisica: true, personaMoral: true },
  { clave: 'G03', descripcion: 'Gastos en general', personaFisica: true, personaMoral: true },
  { clave: 'I01', descripcion: 'Construcciones', personaFisica: true, personaMoral: true },
  { clave: 'I02', descripcion: 'Mobiliario y equipo de oficina por inversiones', personaFisica: true, personaMoral: true },
  { clave: 'I03', descripcion: 'Equipo de transporte', personaFisica: true, personaMoral: true },
  { clave: 'I04', descripcion: 'Equipo de cómputo y accesorios', personaFisica: true, personaMoral: true },
  { clave: 'I05', descripcion: 'Dados, troqueles, moldes, matrices y herramental', personaFisica: true, personaMoral: true },
  { clave: 'I06', descripcion: 'Comunicaciones telefónicas', personaFisica: true, personaMoral: true },
  { clave: 'I07', descripcion: 'Comunicaciones satelitales', personaFisica: true, personaMoral: true },
  { clave: 'I08', descripcion: 'Otra maquinaria y equipo', personaFisica: true, personaMoral: true },
  { clave: 'D01', descripcion: 'Honorarios médicos, dentales y gastos hospitalarios', personaFisica: true, personaMoral: false },
  { clave: 'D02', descripcion: 'Gastos médicos por incapacidad o discapacidad', personaFisica: true, personaMoral: false },
  { clave: 'D03', descripcion: 'Gastos funerales', personaFisica: true, personaMoral: false },
  { clave: 'D04', descripcion: 'Donativos', personaFisica: true, personaMoral: true },
  { clave: 'D05', descripcion: 'Intereses reales efectivamente pagados por créditos hipotecarios', personaFisica: true, personaMoral: false },
  { clave: 'D06', descripcion: 'Aportaciones voluntarias al SAR', personaFisica: true, personaMoral: false },
  { clave: 'D07', descripcion: 'Primas por seguros de gastos médicos', personaFisica: true, personaMoral: false },
  { clave: 'D08', descripcion: 'Gastos de transportación escolar obligatoria', personaFisica: true, personaMoral: false },
  { clave: 'D09', descripcion: 'Depósitos en cuentas para el ahorro, primas de pensiones', personaFisica: true, personaMoral: false },
  { clave: 'D10', descripcion: 'Pagos por servicios educativos (colegiaturas)', personaFisica: true, personaMoral: false },
  { clave: 'S01', descripcion: 'Sin efectos fiscales', personaFisica: true, personaMoral: true },
  { clave: 'CP01', descripcion: 'Pagos', personaFisica: true, personaMoral: true },
  { clave: 'CN01', descripcion: 'Nómina', personaFisica: true, personaMoral: false },
];

export const MONEDAS = [
  { clave: 'MXN', descripcion: 'Peso Mexicano', decimales: 2 },
  { clave: 'USD', descripcion: 'Dólar Americano', decimales: 2 },
  { clave: 'EUR', descripcion: 'Euro', decimales: 2 },
  { clave: 'GBP', descripcion: 'Libra Esterlina', decimales: 2 },
  { clave: 'CAD', descripcion: 'Dólar Canadiense', decimales: 2 },
  { clave: 'JPY', descripcion: 'Yen Japonés', decimales: 0 },
  { clave: 'XXX', descripcion: 'Los códigos asignados para transacciones en que intervenga ninguna moneda', decimales: 0 },
];

export const CLAVES_UNIDAD = [
  { clave: 'H87', descripcion: 'Pieza' },
  { clave: 'E48', descripcion: 'Unidad de servicio' },
  { clave: 'KGM', descripcion: 'Kilogramo' },
  { clave: 'LTR', descripcion: 'Litro' },
  { clave: 'MTR', descripcion: 'Metro' },
  { clave: 'MTK', descripcion: 'Metro cuadrado' },
  { clave: 'MTQ', descripcion: 'Metro cúbico' },
  { clave: 'KWH', descripcion: 'Kilovatio hora' },
  { clave: 'TNE', descripcion: 'Tonelada' },
  { clave: 'GRM', descripcion: 'Gramo' },
  { clave: 'HUR', descripcion: 'Hora' },
  { clave: 'DAY', descripcion: 'Día' },
  { clave: 'MON', descripcion: 'Mes' },
  { clave: 'ANN', descripcion: 'Año' },
  { clave: 'XBX', descripcion: 'Caja' },
  { clave: 'XPK', descripcion: 'Paquete' },
  { clave: 'XKI', descripcion: 'Kit' },
  { clave: 'SET', descripcion: 'Conjunto' },
  { clave: 'XLT', descripcion: 'Lote' },
  { clave: 'ACT', descripcion: 'Actividad' },
  { clave: 'XUN', descripcion: 'Unidad' },
  { clave: 'DPC', descripcion: 'Docena de piezas' },
  { clave: 'XRO', descripcion: 'Rollo' },
  { clave: 'GLL', descripcion: 'Galón' },
  { clave: 'MLT', descripcion: 'Mililitro' },
  { clave: 'CMT', descripcion: 'Centímetro' },
];

export const OBJETOS_IMP = [
  { clave: '01', descripcion: 'No objeto de impuesto' },
  { clave: '02', descripcion: 'Sí objeto de impuesto' },
  { clave: '03', descripcion: 'Sí objeto del impuesto y no obligado al desglose' },
  { clave: '04', descripcion: 'Sí objeto del impuesto y no causa impuesto' },
];

export const TIPOS_RELACION = [
  { clave: '01', descripcion: 'Nota de crédito de los documentos relacionados' },
  { clave: '02', descripcion: 'Nota de débito de los documentos relacionados' },
  { clave: '03', descripcion: 'Devolución de mercancía sobre facturas o traslados previos' },
  { clave: '04', descripcion: 'Sustitución de los CFDI previos' },
  { clave: '05', descripcion: 'Traslados de mercancías facturados previamente' },
  { clave: '06', descripcion: 'Factura generada por los traslados previos' },
  { clave: '07', descripcion: 'CFDI por aplicación de anticipo' },
];

export const EXPORTACIONES = [
  { clave: '01', descripcion: 'No aplica' },
  { clave: '02', descripcion: 'Definitiva' },
  { clave: '03', descripcion: 'Temporal' },
  { clave: '04', descripcion: 'Definitiva con clave distinta a A1 o cuando no existe enajenación en términos del CFF' },
];
