@hypnozbizo/syscohada-fiscal
v1.0.0
Published
Données fiscales complètes pour la zone OHADA: TVA, impôts, calendriers fiscaux, validation NIF/NIU (17 pays: UEMOA + CEMAC + Comores + Guinée + RDC)
Maintainers
Readme
@hypnozbizo/syscohada-fiscal
Données fiscales complètes pour la zone OHADA (17 pays).
Installation
npm install @hypnozbizo/syscohada-fiscal
# ou
pnpm add @hypnozbizo/syscohada-fiscalPays Supportés
UEMOA (Franc CFA BCEAO - XOF)
- 🇧🇯 Bénin (BJ)
- 🇧🇫 Burkina Faso (BF)
- 🇨🇮 Côte d'Ivoire (CI)
- 🇬🇼 Guinée-Bissau (GW)
- 🇲🇱 Mali (ML)
- 🇳🇪 Niger (NE)
- 🇸🇳 Sénégal (SN)
- 🇹🇬 Togo (TG)
CEMAC (Franc CFA BEAC - XAF)
- 🇨🇲 Cameroun (CM)
- 🇨🇫 Centrafrique (CF)
- 🇨🇬 Congo (CG)
- 🇬🇦 Gabon (GA)
- 🇬🇶 Guinée Équatoriale (GQ)
- 🇹🇩 Tchad (TD)
Autres pays OHADA
- 🇰🇲 Comores (KM) - KMF
- 🇬🇳 Guinée (GN) - GNF
- 🇨🇩 RDC (CD) - CDF
Fonctionnalités
1. Calculs TVA
import { calculateTva, getTvaRate, isVatLiable } from '@hypnozbizo/syscohada-fiscal';
// Calcul de TVA
const result = calculateTva(1000000, 'SN');
console.log(result);
// {
// amountExclTax: 1000000,
// tvaAmount: 180000,
// amountInclTax: 1180000,
// rate: 18,
// rateType: 'standard'
// }
// Taux de TVA
const rate = getTvaRate('CI', 'standard'); // 18
const reducedRate = getTvaRate('CI', 'reduced'); // 9
// Vérifier l'assujettissement
const liable = isVatLiable(50000000, 'SN'); // false (< 100M XOF)2. Validation NIF
import { validateNif, getNifConfig } from '@hypnozbizo/syscohada-fiscal';
// Valider un NINEA sénégalais
const result = validateNif('0012345A2B3', 'SN');
console.log(result);
// {
// isValid: true,
// normalized: '0012345A2B3',
// errors: [],
// warnings: [],
// metadata: { entityType: 'company' }
// }
// Configuration NIF d'un pays
const config = getNifConfig('CM');
console.log(config.name); // 'NIU'
console.log(config.formatDescription); // 'M + 12 chiffres + 1 lettre de contrôle'3. Calendrier Fiscal
import { getNextDeadlines, getUrgentDeadlines, getFiscalDeadlines } from '@hypnozbizo/syscohada-fiscal';
// Prochaines échéances (30 jours)
const deadlines = getNextDeadlines('SN', { daysAhead: 30 });
deadlines.forEach(d => {
console.log(`${d.deadline.name}: ${d.daysRemaining} jours restants`);
});
// Échéances urgentes (< 7 jours)
const urgent = getUrgentDeadlines('CM');
// Toutes les échéances d'un pays
const allDeadlines = getFiscalDeadlines('CI');4. Données Fiscales Complètes
import { getFiscalData, ALL_COUNTRIES } from '@hypnozbizo/syscohada-fiscal';
// Données complètes d'un pays
const senegal = getFiscalData('SN');
console.log(senegal.tva.standard); // 18
console.log(senegal.corporateTax.standardRate); // 30
console.log(senegal.taxAuthority.name); // 'Direction Générale des Impôts et Domaines'
// Liste de tous les pays
console.log(ALL_COUNTRIES.length); // 17Données Disponibles
Chaque pays inclut:
| Donnée | Description | |--------|-------------| | TVA | Taux standard, réduit, seuil d'assujettissement | | IS | Taux, IMF, acomptes provisionnels | | IR | Tranches d'imposition, abattements | | NIF | Format, validation, exemples | | Calendrier | Échéances mensuelles, trimestrielles, annuelles | | Retenues | BIC, BNC, dividendes, intérêts |
Comparaison des Taux TVA
| Zone | Pays | Taux Standard | |------|------|---------------| | UEMOA | Sénégal, Côte d'Ivoire, Mali... | 18% | | CEMAC | Cameroun | 19.25% (TVA + CAC) | | CEMAC | Gabon, Congo | 18% | | CEMAC | Centrafrique | 19% | | Autre | Guinée Équatoriale | 15% | | Autre | Guinée-Bissau | 17% | | Autre | Comores | 10% | | Autre | RDC | 16% |
License
MIT
