37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
export const PLANS = {
|
|
starter: {
|
|
name: 'Starter',
|
|
cfdiLimit: 100,
|
|
usersLimit: 1,
|
|
features: ['dashboard', 'cfdi_basic', 'iva_isr'],
|
|
},
|
|
business: {
|
|
name: 'Business',
|
|
cfdiLimit: 500,
|
|
usersLimit: 3,
|
|
features: ['dashboard', 'cfdi_basic', 'iva_isr', 'reportes', 'alertas', 'calendario'],
|
|
},
|
|
professional: {
|
|
name: 'Professional',
|
|
cfdiLimit: 2000,
|
|
usersLimit: 10,
|
|
features: ['dashboard', 'cfdi_basic', 'iva_isr', 'reportes', 'alertas', 'calendario', 'conciliacion', 'forecasting', 'xml_sat'],
|
|
},
|
|
enterprise: {
|
|
name: 'Enterprise',
|
|
cfdiLimit: -1,
|
|
usersLimit: -1,
|
|
features: ['dashboard', 'cfdi_basic', 'iva_isr', 'reportes', 'alertas', 'calendario', 'conciliacion', 'forecasting', 'xml_sat', 'api', 'multi_empresa'],
|
|
},
|
|
} as const;
|
|
|
|
export type Plan = keyof typeof PLANS;
|
|
|
|
export function getPlanLimits(plan: Plan) {
|
|
return PLANS[plan];
|
|
}
|
|
|
|
export function hasFeature(plan: Plan, feature: string): boolean {
|
|
return PLANS[plan].features.includes(feature);
|
|
}
|