Initial commit: Horux Despachos project
This commit is contained in:
51
apps/web/lib/api/impuestos.ts
Normal file
51
apps/web/lib/api/impuestos.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import { apiClient } from './client';
|
||||
import type { IvaMensual, IsrMensual, ResumenIva, ResumenIsr } from '@horux/shared';
|
||||
|
||||
export async function getIsrMensual(año?: number, conciliacion?: boolean, contribuyenteId?: string | null, regimenClave?: string | null): 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);
|
||||
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): 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);
|
||||
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): 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);
|
||||
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): 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);
|
||||
const response = await apiClient.get<ResumenIsr>(`/impuestos/isr/resumen?${params}`);
|
||||
return response.data;
|
||||
}
|
||||
Reference in New Issue
Block a user