01
Modèle & périmètre
Dans l'API, une remise s'appelle un dépôt comptabilité : c'est le terme qui apparaît dans les routes (depot-comptabilite). Elle regroupe des encaissements déjà saisis, tous destinés à un même compte bancaire, et porte le mouvement comptable qui les fait passer d'un compte d'attente vers la banque.
Une remise est rattachée à une copropriété, pas à un exercice. Ses encaissements peuvent venir d'exercices différents. Seul son dépôt en banque est comptabilisé dans un exercice précis : celui qui contient la date de la remise (voir Parcours E).
Remise dépôt comptabilité
Un lot d'encaissements de même nature, destiné à un compte bancaire de la copropriété.
id
type
reference
libelle
description
date
dateCreation
planComptable
estEnBanque
estSupprimable
details[]
documents[]
jeuxDecritures[]
createurContexte
Bordure bleue : calculé à chaque lecture. Pointillés : renvoyé uniquement sur demande via displays (voir Paramètres transverses).
Encaissement ligne de la remise
Un chèque ou un prélèvement d'un copropriétaire. Il est décrit en détail dans le guide Encaissements copropriétaires.
id
montant
date
modePaiement
coproprietaire
contact
exercice
depot
estEnBanque
Un encaissement appartient à au plus une remise : son champ depot ne peut désigner qu'une seule remise.
- type
remise-de-cheques ou prelevement. Ce sont les deux seules valeurs utilisables. L'API accepte n'importe quelle chaîne à la création, mais une autre valeur fait échouer le dépôt en banque par la suite.
- reference
- La référence de la remise, par exemple le numéro du bordereau bancaire. Si vous la laissez vide, l'API en génère une au format
RMC-AAAAMMJJ000123 pour les chèques ou RMP-AAAAMMJJ000123 pour les prélèvements. La date est celle de création et le numéro suit le nombre de remises de la copropriété.
- date
- La date à laquelle la remise est, ou sera, déposée en banque. Elle peut rester
null tant que la remise n'est pas déposée. Elle ne suffit pas à dire que la remise est en banque : seul estEnBanque l'indique.
- planComptable
- Le poste comptable du compte bancaire qui reçoit la remise (voir Parcours A).
- estEnBanque
true dès que les écritures de dépôt en banque existent et n'ont pas été annulées. Un encaissement rattaché à une remise en banque renvoie lui aussi estEnBanque: true.
- estSupprimable
false si le dépôt en banque de la remise a été rapproché d'un relevé, ou s'il a été comptabilisé dans un exercice aujourd'hui clôturé. La même règle s'applique à l'annulation du dépôt et à la suppression.
- details
- Les encaissements de la remise. Le montant de la remise n'est pas stocké : c'est la somme de leurs montants.
Cycle de vie d'une remise
Constituée
date: null
estEnBanque: false
→PUT date
Datée
date: 2026-09-29
estEnBanque: false
→POST écritures
En banque
estEnBanque: true
encaissements verrouillés
Annuler le dépôt (annuler-remise) : les écritures sont contre-passées, la date repasse à null et la remise revient à l'état « Constituée » avec les mêmes encaissements.
Supprimer (DELETE) : le dépôt est d'abord annulé s'il existe, puis les encaissements sont détachés et la remise disparaît.
Une remise de prélèvements est généralement créée directement avec une date : elle commence donc à l'état « Datée ».
Le mouvement comptable
Un chèque ou un prélèvement n'arrive pas directement en banque. À sa saisie, il est porté sur un compte d'attente. La remise le vide au profit du compte bancaire.
Exemple : deux chèques de 450,00 € et 320,00 €
| Compte | Libellé | Débit | Crédit |
1 · Saisie de chaque encaissement (guide Encaissements, avec comptabilite: 1) |
| 5112 | Chèques à encaisser (5113 pour un prélèvement) | 770,00 | |
| 450… | Comptes des copropriétaires | | 770,00 |
| 2 · Dépôt en banque de la remise (Parcours E) |
| 512… | Compte bancaire choisi pour la remise | 770,00 | |
| 5112 | Chèques à encaisser (5113 pour un prélèvement) | | 770,00 |
L'écriture de dépôt a pour libellé [Remise de chèques] 2 chèques - ref : #RMC-… - <libellé> ou [Prélèvement] N prélèvements - …. Elle est datée à la date de la remise. Les numéros de comptes indiqués sont ceux du plan comptable français. Pour une copropriété belge, les comptes d'attente sont 553 (chèques) et 554 (prélèvements).
03
Parcours fonctionnels
Les parcours suivent la vie réelle d'une remise. On choisit d'abord le compte (A), puis on constitue la remise de chèques (B) ou de prélèvements (C). On y joint si besoin la pièce bancaire (D), puis on la dépose en banque (E). On la consulte ensuite (F), et on peut revenir en arrière (G, H).
A
Choisir le compte bancaire de la remise
Cas d'usage : proposer à l'utilisateur la liste des comptes sur lesquels il peut déposer ses chèques ou ses prélèvements.
GET/v2/copro/{idCopro}/comptes.json
Chaque compte expose notamment estActif, destination, estOperationsCourantes, iban, bic, ics et planComptable. C'est planComptable.id qu'il faut transmettre à la création de la remise, pas l'id du compte.
- Ne gardez que les comptes où
estActif vaut true.
- Écartez les comptes de placement (
destination = rémunéré / à intérêt) : on n'y dépose pas de chèques.
- Pour une remise de prélèvements, ne gardez que les comptes dont
ics est renseigné. Sans identifiant créancier SEPA, la banque ne peut pas traiter le fichier.
- Présentez en premier le compte où
estOperationsCourantes vaut true : c'est le choix attendu dans la plupart des cas.
Limite
L'API vérifie seulement que planComptable désigne un compte bancaire de la copropriété. Elle ne vérifie ni qu'il est actif, ni sa destination, ni la présence d'un ICS. Ces filtres sont de votre responsabilité.
B
Constituer une remise de chèques
Cas d'usage : les chèques reçus ont été saisis un par un au fil de l'eau. Le gestionnaire en sélectionne un lot pour préparer le bordereau qu'il portera à la banque.
Étape 1 · Retrouver les chèques en attente
GET/v2/copro/{idCopro}/exercice/{idExercice}/encaissements.json?filters[modePaiement.id]==1
Répétez l'appel pour chaque exercice non clôturé (estCloture: false dans le tableau exercices de GET /v2/copro/{idCopro}.json). Un chèque de fin d'exercice peut en effet être remis au début du suivant. Le filtre modePaiement.id vaut =1 pour les chèques. Parmi les résultats, ne proposez que les encaissements dont depot est vide et estEnBanque vaut false.
Étape 2 · Créer la remise
POST/v2/copro/{idCopro}/depot-comptabilite.json
{
"depotComptabilite": {
"type": "remise-de-cheques",
"planComptable": 48213,
"libelle": "Chèques appel de fonds T4",
"reference": "0004127",
"details": [90112, 90118, 90131]
}
}
type, planComptable et details sont indispensables. Attention : l'API accepte pourtant une création sans type ni planComptable. Elle répond 201, et c'est le dépôt en banque qui échouera plus tard (Parcours E).
La réponse est un 201. Son champ message contient la remise créée, avec son id et sa reference (générée si vous l'avez laissée vide). La clé racine depot_comptabilite est acceptée au même titre que depotComptabilite.
Pourquoi ne pas envoyer de date ici
Au moment où l'on prépare le bordereau, on ne sait pas encore quel jour il sera déposé au guichet. Sans date, la remise reste « Constituée » : elle n'a aucun effet comptable, et on peut encore la supprimer sans conséquence. La date est fixée au moment du dépôt (Parcours E).
Limite
L'API refuse, avec un 400, un encaissement qui ne fait pas partie de la copropriété ou qui appartient déjà à une autre remise. En revanche, elle ne vérifie pas son mode de paiement, qu'il a été comptabilisé, ni qu'il n'est pas déjà en banque par un autre biais. Or le dépôt en banque crédite le compte d'attente des chèques du montant total. Un virement ou un encaissement jamais comptabilisé glissé par erreur dans la remise fausse donc ce compte d'attente, sans aucun message d'erreur. Filtrez vous-même comme à l'étape 1.
Limite
Dès qu'un encaissement fait partie d'une remise, il n'est plus modifiable ni supprimable. Pour corriger un chèque, il faut d'abord supprimer la remise (Parcours H).
C
Constituer une remise de prélèvements
Cas d'usage : le gestionnaire décide, copropriétaire par copropriétaire, du montant à prélever, puis génère d'un coup les prélèvements et le lot SEPA correspondant.
Contrairement aux chèques, les encaissements n'existent pas encore. On les crée d'abord, un par payeur, puis on les regroupe dans la remise.
Étape 1 · Identifier les payeurs prélevables
GET/v2/copro/{idCopro}/coproprietaires.json
Le payeur prélevé est un contact du copropriétaire. Le mandat SEPA se lit dans lots[].lotContacts[].preference : etatMandat (et son libellé libelleEtatMandat), iban, bic, referenceMandat, dateSignatureMandat, typeMandat. Écartez les liens de locataires (estLocataire) et ceux qui sont terminés (dateFin renseignée).
Illustration
Voici comment un logiciel existant procède. Il ne propose que les contacts dont le mandat est utilisable : etatMandat vaut 1 ou 3 (le libellé de chaque état est donné par libelleEtatMandat), l'IBAN et le BIC sont renseignés, ainsi que la référence et la date de signature du mandat. L'API n'impose pas cette règle : c'est à vous d'éviter de créer un prélèvement pour un payeur sans mandat valide.
Étape 2 · Choisir la date et vérifier l'exercice
Tous les prélèvements du lot, et la remise elle-même, portent la même date : celle de la remise. Retrouvez dans GET /v2/copro/{idCopro}.json l'exercice dont dateDeDebut et dateDeFin encadrent cette date, et vérifiez que estCloture vaut false. La date ne doit pas non plus dépasser la date du jour.
Pourquoi vérifier avant
Un encaissement est enregistré même si sa comptabilisation échoue, par exemple parce que l'exercice est clôturé (voir le guide Encaissements). Une date mal choisie laisserait donc derrière elle des prélèvements orphelins, à supprimer un par un.
Étape 3 · Créer un encaissement par payeur
POST/v2/copro/{idCopro}/exercice/{idExercice}/encaissement/paiement/4.json
{
"encaissement": {
"date": "2026-09-29 00:00:00",
"coproprietaire": 9931,
"contact": 22804,
"montant": 45000,
"comptabilite": 1
}
}
Le 4 de la route est le mode de paiement « prélèvement ». Renseignez contact : c'est ce qui relie le prélèvement au mandat du payeur. comptabilite: 1 passe immédiatement l'encaissement sur le compte d'attente des prélèvements (voir le mouvement comptable). Relevez l'id renvoyé dans message.id.
Étape 4 · Créer la remise, datée
POST/v2/copro/{idCopro}/depot-comptabilite.json
{
"depotComptabilite": {
"type": "prelevement",
"planComptable": 48213,
"date": "2026-09-29 00:00:00",
"details": [90340, 90341, 90342]
}
}
Passez la même date qu'aux encaissements. Sinon la remise porterait une date différente de celle des prélèvements qui la composent. Cette reference sert ensuite d'identifiant du lot dans le fichier SEPA. Fournissez-en une que vous savez unique. Si vous la laissez vide, l'API génère une référence RMP-…, mais celle-ci peut reprendre une référence déjà utilisée (voir Limites).
Limite
Aucun de ces appels n'est transactionnel avec les autres. Si la création de la remise échoue, les encaissements créés à l'étape 3 restent en place, sans remise. En cas d'échec, reprenez à l'étape 4 avec les identifiants déjà obtenus plutôt que de tout recréer.
D
Joindre le bordereau ou le fichier SEPA
Cas d'usage : conserver avec la remise la pièce transmise à la banque, c'est-à-dire le bordereau PDF de remise de chèques ou le fichier de prélèvement SEPA.
L'API ne produit pas ces fichiers. Vous générez le bordereau ou le fichier SEPA (pain.008.001.02) de votre côté, à partir des données déjà lues :
- créancier : le nom de la copropriété, et l'
iban, le bic et l'ics du compte choisi au Parcours A ;
- identifiant du lot : la
reference de la remise ;
- une transaction par ligne de
details : le montant (en centimes), ainsi que l'IBAN, le BIC, la référence et la date de signature du mandat du contact de la ligne (Parcours C, étape 1).
POST/v2/copro/{idCopro}/depot-comptabilite/{idDepot}/document.json
{
"libelle": "Prélèvement #RMP-20260929000014",
"fichier": { "mode": "base64", "nom": "RMP-20260929000014.xml", "valeur": "PD94bWwgdmVyc2lvbj0iMS4wIi…" },
"tags": ["Dépôt"]
}
Ici, le corps n'est pas enveloppé dans une clé racine. fichier.mode vaut base64 (contenu encodé) ou url (fichier déjà hébergé, accessible publiquement). En mode base64, fichier.nom est obligatoire : il donne l'extension du fichier stocké, qui ne doit contenir que des lettres, des chiffres ou des tirets. Sans lui, la requête est refusée en 400. La réponse est un 201 qui contient le document créé. Celui-ci apparaît ensuite dans documents[] de la remise.
Illustration
Un logiciel existant régénère le fichier à chaque téléchargement et en joint une nouvelle version à chaque fois, avec un libellé horodaté. Une remise peut donc porter plusieurs documents : l'API ne remplace pas le précédent.
E
Déposer la remise en banque
Cas d'usage : le bordereau a été porté au guichet, ou le fichier SEPA transmis à la banque. On enregistre ce dépôt pour que les fonds apparaissent sur le compte bancaire de la copropriété.
Étape 1 · Fixer la date de dépôt
PUT/v2/copro/{idCopro}/depot-comptabilite/{idDepot}.json
{ "date": "2026-10-02 00:00:00" }
Ce corps est plat, sans clé racine. La même route accepte aussi libelle, reference et note. Elle répond 202 avec la remise mise à jour.
Choisir la date
L'API n'encadre pas cette date. Retenez une date qui n'est ni postérieure à aujourd'hui, ni antérieure à la date du plus récent encaissement de la remise : on ne dépose pas un chèque avant de l'avoir reçu. Elle doit aussi tomber dans un exercice ouvert (étape 2).
Étape 2 · Générer les écritures de dépôt
POST/v2/copro/{idCopro}/exercice/{idExercice}/ecritures/depot-comptabilite/{idDepot}.json
Le corps de la requête est vide. En cas de succès, la réponse est un 201 contenant le jeu d'écritures créé, et la remise renvoie désormais estEnBanque: true.
Quel exercice ?
L'exercice utilisé est toujours celui qui contient la date de la remise, quel que soit l'idExercice placé dans l'URL. Passez-y quand même l'exercice correspondant à cette date, pour que l'URL reste cohérente avec ce qu'elle produit.
Réponses d'échec
400 L'écriture existe déjà sur le dépôt : la remise est déjà en banque. Un second appel ne crée pas de doublon, ce qui permet de le rejouer sans risque après une erreur réseau.
400 L'exercice est cloturé : la date de la remise tombe dans un exercice clôturé.
500 sans message utile : la remise n'a pas de date, aucun exercice ne couvre sa date, elle n'a pas de planComptable, ou son type n'est pas l'une des deux valeurs attendues. Vérifiez ces quatre points avant d'appeler.
Limite
Une remise sans aucun encaissement ne renvoie pas d'erreur. Chaque appel y ajoute un jeu d'écritures vide et la remise ne passe jamais « en banque ». N'appelez pas cette route sur une remise dont details est vide.
F
Consulter les remises
Cas d'usage : afficher l'historique des remises d'une copropriété avec leur état (en attente ou en banque), et ouvrir le détail de l'une d'elles.
GET/v2/copro/{idCopro}/depots-comptabilites.json?type=remise-de-cheques
GET/v2/copro/{idCopro}/depot-comptabilite/{idDepot}.json
La liste couvre la copropriété entière, tous exercices confondus. Chaque remise y est renvoyée avec ses details et ses documents. Le paramètre type restreint la liste aux chèques ou aux prélèvements. Les autres paramètres sont décrits dans Paramètres transverses.
Pour savoir quel bouton proposer sur une remise, lisez estEnBanque et estSupprimable :
estEnBanque: false : on peut la déposer (Parcours E) ou la supprimer (Parcours H).
estEnBanque: true et estSupprimable: true : on peut annuler le dépôt (Parcours G).
estEnBanque: true et estSupprimable: false : la remise est figée, parce que son dépôt est rapproché ou que son exercice est clôturé.
G
Annuler un dépôt en banque
Cas d'usage : un dépôt a été enregistré à tort ou à la mauvaise date. On veut revenir en arrière sans perdre la composition de la remise.
GET/v2/copro/{idCopro}/depot-comptabilite/{idDepot}/annuler-remise.json
Cette route modifie des données alors qu'elle s'appelle en GET. Ne la placez jamais derrière un lien qu'un navigateur ou un robot pourrait précharger.
Effets observables :
- Les écritures de dépôt ne sont pas effacées : elles sont contre-passées par un jeu d'annulation à la même date. Les deux jeux restent visibles dans la comptabilité.
- La
date de la remise repasse à null et estEnBanque à false.
- Les encaissements restent dans la remise.
Pour redéposer la remise, reprenez le Parcours E depuis l'étape 1 : il faut refixer une date, puisqu'elle a été effacée.
Réponse toujours en 200
L'annulation est refusée si le dépôt a été rapproché d'un relevé (Impossible de supprimer un depot rapproché) ou s'il a été comptabilisé dans un exercice clôturé depuis (Le dépôt a un impact sur un exercice cloturé). Dans ces cas, le code HTTP reste 200. Seul le corps signale l'échec, avec "code": 400 et le motif dans error. Une annulation réussie renvoie "code": 202, pas 200. Testez donc code == 202 pour le succès, et vérifiez estSupprimable avant d'appeler.
Changer la date d'un dépôt
Modifier la date (PUT, Parcours E étape 1) d'une remise déjà en banque répond un succès, mais ne déplace pas ses écritures : elles gardent l'ancienne date et l'ancien exercice. Pour corriger une date de dépôt, suivez cet ordre : annuler (ce parcours), refixer la date, puis générer à nouveau les écritures.
H
Supprimer une remise
Cas d'usage : défaire une remise préparée par erreur, pour libérer ses chèques ou pour annuler un lot de prélèvements qui ne partira pas.
DELETE/v2/copro/{idCopro}/depot-comptabilite/{idDepot}.json
La suppression est refusée avec un 400 dans les mêmes cas que l'annulation (Parcours G). Sinon l'API répond 204 et enchaîne les effets suivants :
- Si la remise était en banque, son dépôt est d'abord annulé par contre-passation, comme au Parcours G.
- Les documents joints sont détachés de la remise.
- Les encaissements sont détachés, pas supprimés. Ils redeviennent libres, avec leurs propres écritures intactes.
- La remise disparaît. Les écritures de dépôt et leur annulation restent en comptabilité, sans lien avec aucune remise.
Cas des prélèvements
Les encaissements d'une remise de prélèvements ont été créés uniquement pour elle (Parcours C). S'ils ne doivent plus exister, procédez dans cet ordre :
- Avant le DELETE, lisez la remise et conservez, pour chaque ligne de
details, son id et son exercice.id. Une fois la remise supprimée, plus rien ne relie ces encaissements à elle : vous ne pourriez plus les retrouver.
- Vérifiez que chacun de ces exercices est encore ouvert (
estCloture: false). Sinon, renoncez : la remise serait supprimée, mais les prélèvements d'un exercice clôturé resteraient impossibles à supprimer.
- Supprimez la remise.
- Supprimez ensuite chaque encaissement avec
DELETE /v2/copro/{idCopro}/exercice/{idExercice}/encaissement/{idEncaissement}.json. Pas avant : un encaissement rattaché à une remise n'est pas supprimable.