Rapports fiscaux
Le registre, la déduction des remboursements, l'exportation et les éléments absents.
Chaque paiement encaissé produit une ligne et chaque remboursement une ligne négative. Le rapport additionne ce registre sur une période. Aucun calcul n'est refait lors de la lecture. Le rapport du trimestre précédent présente donc les taux alors appliqués, pas les taux actuels.
Ce qui entre dans le registre
Une ligne est créée lorsque le paiement est crédité, pas lors de sa création ou d'une tentative. Quatre situations l'empêchent.
| Condition | Résultat |
|---|---|
| Tax est désactivé sur votre compte | Aucune ligne et aucun rattrapage après son activation |
| Le paiement est effectué dans la sandbox | Aucune ligne |
| Le paiement approvisionne votre propre solde | Aucune ligne |
| La taxe calculée est nulle | Aucune ligne. Un pays au taux nul ne laisse donc aucune trace |
Une seule ligne est écrite par paiement. Une deuxième tentative sur le même paiement ou la répétition de l'événement ne la duplique jamais.
Un remboursement écrit une ligne négative
Lors du remboursement d'un paiement, le registre annule la taxe dans la même proportion. Le remboursement d'un tiers du montant annule un tiers de la taxe, selon le taux et le pays d'origine, avec les deux montants négatifs.
Cette proportion ne peut pas dépasser la totalité. Le remboursement d'un montant supérieur à la base enregistrée annule au maximum 100 % de la taxe. Lorsque le paiement d'origine ne possède aucune ligne, le remboursement n'en écrit pas non plus : aucune taxe n'a été perçue, aucune n'est rendue. C'est le cas d'un paiement encaissé quand Tax était désactivé, d'un client exonéré, d'une vente en autoliquidation et d'un produit à taux zéro.
Seule la ligne du paiement décide, pas vos réglages le jour du remboursement. La taxe enregistrée sur un paiement a été perçue : son remboursement en annule la part même après la désactivation de Tax ou quand votre plan ne le couvre plus. À l'inverse, activer Tax plus tard ne donne jamais d'annulation à un paiement sans ligne.
Le résultat attendu est disponible au moment de la déclaration : le rapport calcule automatiquement le montant net des encaissements et des annulations. Vous ne soustrayez rien vous-même.
Le rapport
https://api.wajub.com/tax/reportsCinq paramètres d'URL facultatifs sont disponibles. Les deux filtres limitent tout le payload au lieu de lui ajouter une section.
periodenumfacultatifdéfaut : 30dstart_datedatefacultatifend_datedatefacultatifcountrystringfacultatifcurrencystringfacultatifLa réponse place toutes les données sous report et présente trois fois les mêmes chiffres : sous
forme de total, par pays et par devise.
Trois détails sont importants pour le rapprochement avec vos propres comptes. tax_collected
compte uniquement les lignes positives et tax_reversed les lignes négatives. net_tax est leur
somme et représente le montant à déclarer. transactions compte toutes les lignes du groupe, y
compris les annulations. Un pays avec trois cents paiements et douze remboursements indique donc 312.
Enfin, summary.currency contient la devise filtrée ou la première trouvée. Pour un compte qui
utilise plusieurs devises, le résumé additionne les montants sans conversion. Il n'a de sens
qu'après un filtrage sur une devise.
Déclarez pays par pays et une devise à la fois
Vous devez la taxe à une juridiction dans sa propre devise. Utilisez donc un rapport dont les
paramètres country et currency sont tous deux définis. La section by_country d'un rapport
non filtré permet de repérer les pays où vous avez des obligations, pas de remplir une déclaration.
Le rapport du Dashboard n'est pas le même objet
La section Tax du Dashboard répond à la même question avec un payload différent. Ne vous attendez pas à une correspondance exacte entre leurs champs.
| API | Dashboard | |
|---|---|---|
| Période | start_date et end_date | Un objet period avec start et end |
| Total | summary.total_tax_collected | total_tax |
| Par ligne | tax_collected et transactions | tax_amount et count |
| Encaissements et annulations | Séparés dans deux champs | Additionnés dans un seul |
| Plusieurs devises | Aucune conversion | Conversion dans votre devise de base sous global_total |
| Taux | Absents | Le tableau des taux est inclus |
Le Dashboard additionne les encaissements et les annulations dans un seul chiffre par ligne. Un mois
avec des remboursements y affiche donc un résultat inférieur à tax_collected dans l'API. Les deux
sont corrects, car ils répondent à des questions légèrement différentes.
L'exportation CSV
Sous Tax, la commande export télécharge la vue actuelle au format CSV séparé par des points-virgules, avec un marqueur UTF-8. Excel l'ouvre donc correctement dans les paramètres régionaux français et portugais, sans étape d'importation. Le fichier contient la période, les totaux, la conversion dans la devise de base lorsque vous en utilisez plusieurs, puis un bloc par pays et par devise.
Les exportations sont comptabilisées dans le quota mensuel de votre plan : dix par mois avec Pay as you go, puis un nombre illimité à partir de Growth. L'API ne propose aucune exportation.
Seuils d'immatriculation
De nombreuses juridictions imposent une immatriculation uniquement après le dépassement d'un seuil
de chiffre d'affaires local. GET /tax/thresholds répertorie les seuils suivis par Wajub, avec leur
montant, leur devise et leur période de mesure.
GET /tax/thresholds/alerts les compare à votre propre chiffre d'affaires enregistré sur la période
propre à chaque seuil (l'année civile, douze mois glissants ou le trimestre). Il renvoie uniquement
les éléments qui nécessitent votre attention : approaching à partir de 80 % du seuil et exceeded
à 100 %. Un tableau vide signifie qu'aucun seuil n'est proche. Il est également renvoyé avant
l'enregistrement de toute taxe.
Votre chiffre d'affaires est converti dans la devise du seuil aux taux de la plateforme avant la
comparaison : des ventes en XAF comptent pour un seuil en GBP à leur valeur en livres. Le seuil EU
additionne vos ventes dans tous les États membres. Un seuil pour lequel votre chiffre d'affaires ne
peut pas être converti, faute de taux pour une devise, n'est pas mesuré et ne lève aucune alerte.
Un seuil défini pour un État plutôt que pour un pays entier (avec un state_code, comme le nexus
économique d'un État américain) figure dans GET /tax/thresholds, mais n'est jamais renvoyé comme
alerte : une ligne fiscale enregistre le pays, pas l'État, et il n'existe donc rien à quoi le comparer.
La comparaison utilise uniquement les données enregistrées par Wajub
Votre chiffre d'affaires local correspond ici à la somme des taxable_amount des lignes fiscales
positives sur la période du seuil, convertie dans sa devise. Il exclut les revenus encaissés avant
l'activation de Tax et toutes les factures émises en dehors de Wajub. Considérez l'alerte comme une
invitation à vérifier, pas comme un avis juridique.
Ce que le registre ne contient pas
Connaître ces limites vous évite de chercher des exportations inexistantes.
Aucun taux infranational. Une ligne est écrite au taux normal du pays, celui que donne
POST /tax/calculate : un paiement ne porte ni État ni ville auxquels appliquer un taux infranational.
Aucun prélèvement Mobile Money ni aucune taxe sur les services numériques. Les prélèvements Mobile Money et les taxes sur les services numériques ne sont ni enregistrés, ni affichés sur un paiement, ni ajoutés à un montant. Lorsqu'un pays les prélève, ils ne figurent pas dans vos chiffres Wajub.
Une ligne par paiement, rien de plus. Un paiement live qui a produit un enregistrement le porte
dans un objet tax sur GET /payments/{id} : amount, taxable_amount, rate, name, country
et inclusive. Un remboursement porte son annulation de la même façon. Les totaux et les périodes
se lisent uniquement par l'endpoint des rapports et le Dashboard.
Aucun webhook. Aucun événement n'est émis lors de l'écriture ou de l'annulation d'une ligne.
Vous restez responsable des déclarations
Wajub calcule un taux et conserve un registre. Il ne vous immatricule auprès d'aucune autorité, ne dépose aucune déclaration et ne reverse aucun montant. Ces obligations vous appartiennent. Les chiffres présentés ici constituent un point de départ pour votre comptable, pas une déclaration.
Pages associées
- TaxesCe qui est calculé, ce qui est enregistré et ce qui n'est jamais débité.
- Configuration fiscaleLes prix TTC, les exonérations, l'autoliquidation et les identifiants fiscaux des clients.
- Démarrage rapideActiver Tax, calculer, débiter et consulter le premier rapport.
- RemboursementsL'opération qui écrit les lignes négatives.