SDK Java officiel pour integrer l'API de facturation electronique d'Essabu dans vos applications Java, Kotlin ou Spring Boot. Gerez la normalisation, la soumission aux systemes gouvernementaux, la verification et la conformite des factures electroniques dans 6 pays africains.
| Pays | Systeme | Code SDK |
|---|---|---|
| Benin | MECeF | GovernmentSystem.BENIN_MECEF |
| RDC | VSD | GovernmentSystem.DRC_VSD |
| Rwanda | EBM | GovernmentSystem.RWANDA_EBM |
| Senegal | ASYCUDA | GovernmentSystem.SENEGAL_ASYCUDA |
| Cote d'Ivoire | FDT | GovernmentSystem.IVORY_COAST_FDT |
| Cameroun | CUD | GovernmentSystem.CAMEROON_CUD |
<dependency>
<groupId>com.essabu</groupId>
<artifactId>essabu-einvoice-sdk-java</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>implementation 'com.essabu:essabu-einvoice-sdk-java:1.0.0-SNAPSHOT'Les packages sont disponibles sur GitHub Packages.
# application.yml
essabu:
einvoice:
base-url: https://einvoice.essabu.com
api-key: ${EINVOICE_API_KEY}
tenant-id: ${EINVOICE_TENANT_ID}@Service
public class MyService {
private final EssabuEInvoiceClient einvoice;
public MyService(EssabuEInvoiceClient einvoice) {
this.einvoice = einvoice;
}
public void exemple() {
// Normaliser une facture
NormalizedInvoiceResponse normalized = einvoice.invoices().normalize(
NormalizeInvoiceRequest.builder()
.companyId(companyId)
.originalInvoiceId(invoiceId)
.invoiceNumber("FAC-2026-0001")
.nif("A123456789")
.issuerName("Mon Entreprise")
.recipientName("Mon Client")
.issueDate(LocalDate.now())
.totalAmount(new BigDecimal("118000"))
.taxAmount(new BigDecimal("18000"))
.currency("CDF")
.governmentSystem(GovernmentSystem.DRC_VSD)
.items(List.of(/* lignes */))
.build()
);
// Soumettre au gouvernement
einvoice.submissions().submit(
SubmitToGovernmentRequest.builder()
.normalizedInvoiceId(normalized.getId())
.build()
);
}
}| Groupe | Modules | Accesseur |
|---|---|---|
| Facture | Normalisation, Soumission | einvoice.invoices(), einvoice.submissions() |
| Verification | Verification, Conformite, Statistiques | einvoice.verification(), einvoice.compliance(), einvoice.statistics() |
try {
einvoice.submissions().submit(request);
} catch (EInvoiceNotFoundException e) {
// 404 - Facture normalisee non trouvee
} catch (EInvoiceValidationException e) {
// 400/422 - Donnees invalides (NIF, format, montants)
} catch (EInvoiceUnauthorizedException e) {
// 401/403 - Authentification ou autorisation echouee
} catch (EInvoiceServerException e) {
// 5xx - Erreur serveur ou gouvernement injoignable
}| Document | Description |
|---|---|
| Guide de demarrage | Installation, configuration et premier appel API |
| Configuration | Toutes les proprietes disponibles et profils Spring |
| Authentification | Cles API, multi-tenant, scopes et permissions |
| Gestion des erreurs | Hierarchie des exceptions et bonnes pratiques |
| Pagination | PageRequest, PageResponse et parcours pagine |
| Exemples : Normalisation | Normalisation pour differents pays |
| Exemples : Soumission | Soumission et suivi de statut |
| Exemples : Verification | Verification, conformite et statistiques |
- Java 21+
- Spring Boot 3.4+ (optionnel, pour l'auto-configuration)
- Jackson 2.18+
Les contributions sont les bienvenues. Pour contribuer :
- Forkez le repository
- Creez une branche pour votre fonctionnalite (
git checkout -b feat/ma-fonctionnalite) - Commitez vos changements (
git commit -m "feat: description") - Poussez la branche (
git push origin feat/ma-fonctionnalite) - Ouvrez une Pull Request
Merci de suivre les Conventional Commits pour les messages de commit.
Proprietary - Essabu SaaS Platform