Update project files

This commit is contained in:
2026-07-13 16:10:01 -04:00
parent a6e66e6a89
commit e160a0901c
29 changed files with 3583 additions and 2898 deletions
+118
View File
@@ -0,0 +1,118 @@
export type PeriodType = 'quincena_15' | 'quincena_30';
export type ViewType = 'cruce' | 'historial';
export type ToastType = 'success' | 'error' | 'info';
export type CountryCode = 'GT' | 'TT';
export interface CountryConfig {
code: CountryCode;
name: string;
flag: string;
currency: string;
locale: string;
enabled: boolean;
}
export type ReconciliationStatus =
| 'Coincidencia'
| 'Riesgo'
| 'No encontrado'
| 'Pendiente revisión'
| 'Resuelto';
export type ReconciliationSource =
| 'nomina_vs_banco'
| 'banco_sin_nomina'
| 'banco_sin_bamboo'
| 'nomina_sin_cuenta'
| 'posible_cuenta_mal_digitada'
| 'diferencia_nombre_banco'
| 'discrepancia'
| 'coincidencia';
export interface UploadedFile {
name: string;
size: string;
type: 'payroll' | 'bank';
rawFile?: File;
}
export interface PeriodRange {
start: string;
end: string;
label: string;
}
export interface ReconciliationRow {
id: string;
employee: string;
employeeNumber: string;
account?: string;
amountPayroll: number | null;
amountBank: number | null;
difference: number | null;
status: ReconciliationStatus;
category?: string;
observation: string;
source?: ReconciliationSource;
}
export interface ReconciliationSummary {
matches: number;
discrepancies: number;
bankWithoutPayroll: number;
bankWithoutBamboo: number;
payrollWithoutAccount: number;
nameDifferences: number;
possibleWrongAccounts: number;
totalPending: number;
totalRows: number;
totalPayroll?: number;
totalBank?: number;
totalDifference?: number;
}
export interface ReconciliationResponse {
ok: boolean;
executionId?: string;
reportUrl?: string;
summary: ReconciliationSummary;
rows: ReconciliationRow[];
message?: string;
}
export interface HistoricalReport {
id: string;
country: CountryCode;
date: string;
executionDate?: string;
period: string;
payrollFile: string;
bankFiles: string[];
matches: number;
discrepancies: number;
bankWithoutPayroll: number;
bankWithoutBamboo: number;
payrollWithoutAccount: number;
nameDifferences: number;
totalPending: number;
totalPayroll?: number;
totalBank?: number;
totalDifference?: number;
status: 'Pendiente revisión' | 'Resuelto';
reportUrl?: string;
spreadsheetId?: string;
executedBy?: string;
executedByEmail?: string;
resolvedBy?: string;
resolvedByEmail?: string;
resolvedAt?: string;
resolutionComment?: string;
}
export interface AppUser {
name: string;
email: string;
}