Aller au contenu

Démarrage rapide

Activez Tax, calculez la taxe, débitez-la et consultez le premier rapport.

Cinq étapes sont nécessaires. La troisième est souvent oubliée. Wajub calcule et enregistre la taxe, mais son prélèvement vous revient. Le montant défini lors de la création du paiement est celui que votre client paie.

1. Activer Tax

Aucun enregistrement n'est créé avant l'activation. Celle-ci nécessite la déclaration de votre propre immatriculation fiscale. Les deux champs deviennent obligatoires dès que enabled vaut true, et aucun ne possède de valeur par défaut.

Activer l'enregistrement fiscal
curl -X PUT https://api.wajub.com/tax/settings \
  -H "Authorization: sk.kZ3qP8mWvL2xR7tB5nY4hC6dF9jS1aG0eU3i…" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "inclusive": false,
    "default_country": "CM",
    "tax_id_type": "cm.niu",
    "registration_number": "M071512345A"
  }'

inclusive indique si vos prix comprennent déjà la taxe. Laissez-le sur false pour que Wajub considère le montant comme une base à laquelle la taxe doit être ajoutée. Le même interrupteur se trouve sous Tax, Settings dans le Dashboard.

2. Demander le montant dû

Le pays est obligatoire. Cet endpoint ne le déduit ni du numéro de téléphone, ni de l'adresse IP, ni de la devise. Votre default_country n'est pas utilisé comme valeur de repli.

Calculer
curl https://api.wajub.com/tax/calculate \
  -H "Authorization: sk.kZ3qP8mWvL2xR7tB5nY4hC6dF9jS1aG0eU3i…" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 10000,
    "currency": "XAF",
    "country": "CM"
  }'

La réponse contient tout le calcul. Vous n'avez jamais besoin de le refaire.

Réponse · 200 OK
{
"code": 200,
"status": "OK",
"calculation": {
"amount": 10000,
"tax_amount": 1925,
"taxable_amount": 10000,
"total": 11925,
"rate": 19.25,
"tax_name": "TVA",
"country_code": "CM",
"currency": "XAF",
"tax_inclusive": false,
"tax_code": null,
"customer_exempt": false,
"reverse_charge": false
}
}

total est le montant à débiter. Dans un calcul hors taxe, il correspond à amount + tax_amount. Dans un calcul TTC, il correspond à l'amount envoyé sans modification, et taxable_amount est le montant restant après l'extraction de la taxe.

3. Débiter vous-même le total

Un paiement ne possède aucun champ tax. Créez-le avec le montant renvoyé par le calcul.

curl https://api.wajub.com/payments \
  -H "Authorization: sk.kZ3qP8mWvL2xR7tB5nY4hC6dF9jS1aG0eU3i…" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 11925,
    "currency": "XAF",
    "email": "client@example.com"
  }'

Si vous ignorez cette étape, rien ne casse. Le paiement de 10 000 XAF est traité et l'enregistrement indique que 1 925 XAF de taxe étaient dus. Vous aurez simplement encaissé 10 000 XAF et devrez en prélever la taxe.

4. L'enregistrement est automatique

Lorsque le paiement est crédité, Wajub recalcule la taxe à partir de vos paramètres et du pays du payeur, puis écrit une ligne. Vous n'avez rien à faire ni aucun appel à envoyer.

Ce second calcul n'est pas celui demandé à l'étape 2. Il utilise le véritable pays du payeur et le montant réellement débité. Les deux résultats peuvent donc différer si le débit concerne un autre pays que celui du calcul. Une ligne est écrite une seule fois par paiement. La répétition du même paiement ne la duplique jamais.

5. Lire les données enregistrées

Le rapport regroupe le registre sur une période, par pays et par devise.

GEThttps://api.wajub.com/tax/reports

Limitez-le au pays et au mois de votre déclaration. La valeur net_tax du résumé correspond aux encaissements moins les annulations. C'est le chiffre à déclarer.

Mois en cours, Cameroun uniquement
curl "https://api.wajub.com/tax/reports?period=month&country=CM" \
  -H "Authorization: sk.kZ3qP8mWvL2xR7tB5nY4hC6dF9jS1aG0eU3i…"

Les mêmes chiffres sont disponibles sous Tax dans le Dashboard, avec une exportation CSV. Rapports fiscaux décrit la structure complète des deux formats.

Si vous envoyez plutôt des factures

Une facture contient une ligne de taxe par article. Son comportement dépend de son origine.

OrigineComportement de la taxe de la ligne
Le DashboardLorsque Tax est actif et que la ligne reste en mode automatique, le taux normal du pays est renseigné pour vous
L'APIVous définissez vous-même items[].tax_rate. Rien n'est renseigné automatiquement

Dans les deux cas, la taxe de l'article est calculée avec le taux de celui-ci. Le total de la facture correspond à la somme des lignes. Le remplissage automatique utilise le pays du client indiqué sur la facture, puis votre default_country comme valeur de repli.

Que pensez-vous de ce contenu ?