77 lines
4.3 KiB
TypeScript
77 lines
4.3 KiB
TypeScript
import { apiClient } from './client';
|
|
import type { IvaMensual, IsrMensual, ResumenIva, ResumenIsr, ResumenIsrDesglosado } from '@horux/shared';
|
|
|
|
export async function getIsrMensual(año?: number, conciliacion?: boolean, contribuyenteId?: string | null, regimenClave?: string | null, considerarActivos?: boolean, considerarNCs?: boolean): Promise<IsrMensual[]> {
|
|
const params = new URLSearchParams();
|
|
if (año) params.set('año', año.toString());
|
|
if (conciliacion) params.set('conciliacion', 'true');
|
|
if (contribuyenteId) params.set('contribuyenteId', contribuyenteId);
|
|
if (regimenClave) params.set('regimenClave', regimenClave);
|
|
if (considerarActivos !== undefined) params.set('considerarActivos', String(considerarActivos));
|
|
if (considerarNCs !== undefined) params.set('considerarNCs', String(considerarNCs));
|
|
const response = await apiClient.get<IsrMensual[]>(`/impuestos/isr/mensual?${params}`);
|
|
return response.data;
|
|
}
|
|
|
|
export async function getIvaMensual(año?: number, conciliacion?: boolean, contribuyenteId?: string | null, considerarActivos?: boolean, considerarNCs?: boolean): Promise<IvaMensual[]> {
|
|
const params = new URLSearchParams();
|
|
if (año) params.set('año', año.toString());
|
|
if (conciliacion) params.set('conciliacion', 'true');
|
|
if (contribuyenteId) params.set('contribuyenteId', contribuyenteId);
|
|
if (considerarActivos !== undefined) params.set('considerarActivos', String(considerarActivos));
|
|
if (considerarNCs !== undefined) params.set('considerarNCs', String(considerarNCs));
|
|
const response = await apiClient.get<IvaMensual[]>(`/impuestos/iva/mensual?${params}`);
|
|
return response.data;
|
|
}
|
|
|
|
export async function getResumenIva(fechaInicio: string, fechaFin: string, conciliacion?: boolean, contribuyenteId?: string | null, considerarActivos?: boolean, considerarNCs?: boolean): Promise<ResumenIva> {
|
|
const params = new URLSearchParams();
|
|
params.set('fechaInicio', fechaInicio);
|
|
params.set('fechaFin', fechaFin);
|
|
if (conciliacion) params.set('conciliacion', 'true');
|
|
if (contribuyenteId) params.set('contribuyenteId', contribuyenteId);
|
|
if (considerarActivos !== undefined) params.set('considerarActivos', String(considerarActivos));
|
|
if (considerarNCs !== undefined) params.set('considerarNCs', String(considerarNCs));
|
|
const response = await apiClient.get<ResumenIva>(`/impuestos/iva/resumen?${params}`);
|
|
return response.data;
|
|
}
|
|
|
|
export async function getCoeficiente(anio: number): Promise<{ anio: number; coeficiente: number | null }> {
|
|
const response = await apiClient.get<{ anio: number; coeficiente: number | null }>(`/impuestos/isr/coeficiente?anio=${anio}`);
|
|
return response.data;
|
|
}
|
|
|
|
export async function setCoeficiente(anio: number, coeficiente: number): Promise<{ anio: number; coeficiente: number }> {
|
|
const response = await apiClient.put<{ anio: number; coeficiente: number }>('/impuestos/isr/coeficiente', { anio, coeficiente });
|
|
return response.data;
|
|
}
|
|
|
|
export async function getResumenIsr(fechaInicio: string, fechaFin: string, conciliacion?: boolean, contribuyenteId?: string | null, considerarActivos?: boolean, considerarNCs?: boolean): Promise<ResumenIsr> {
|
|
const params = new URLSearchParams();
|
|
params.set('fechaInicio', fechaInicio);
|
|
params.set('fechaFin', fechaFin);
|
|
if (conciliacion) params.set('conciliacion', 'true');
|
|
if (contribuyenteId) params.set('contribuyenteId', contribuyenteId);
|
|
if (considerarActivos !== undefined) params.set('considerarActivos', String(considerarActivos));
|
|
if (considerarNCs !== undefined) params.set('considerarNCs', String(considerarNCs));
|
|
const response = await apiClient.get<ResumenIsr>(`/impuestos/isr/resumen?${params}`);
|
|
return response.data;
|
|
}
|
|
|
|
export async function getResumenIsrDesglosado(
|
|
fechaFin: string,
|
|
conciliacion?: boolean,
|
|
contribuyenteId?: string | null,
|
|
considerarActivos?: boolean,
|
|
considerarNCs?: boolean,
|
|
): Promise<ResumenIsrDesglosado> {
|
|
const params = new URLSearchParams();
|
|
params.set('fechaFin', fechaFin);
|
|
if (conciliacion) params.set('conciliacion', 'true');
|
|
if (contribuyenteId) params.set('contribuyenteId', contribuyenteId);
|
|
if (considerarActivos !== undefined) params.set('considerarActivos', String(considerarActivos));
|
|
if (considerarNCs !== undefined) params.set('considerarNCs', String(considerarNCs));
|
|
const response = await apiClient.get<ResumenIsrDesglosado>(`/impuestos/isr/resumen-desglosado?${params}`);
|
|
return response.data;
|
|
}
|