Documentation d'intégration · API Datacopro

Remises de chèques et de prélèvements

Regrouper des encaissements copropriétaires dans une remise, la déposer en banque, puis, si besoin, annuler ce dépôt ou supprimer la remise.

Type remise-de-cheques · prelevement Montants en centimes Périmètre une copropriété
À propos de ce guide. Ce document décrit uniquement le contrat de l'API Datacopro : les appels HTTP, leurs paramètres et les réponses renvoyées. Vous n'avez besoin de connaître aucun logiciel de gestion de copropriété pour le suivre. Les cas d'usage cités ne servent qu'à justifier l'ordre des appels.
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 €
CompteLibelléDébitCrédit
1 · Saisie de chaque encaissement (guide Encaissements, avec comptabilite: 1)
5112Chèques à encaisser (5113 pour un prélèvement)770,00
450…Comptes des copropriétaires770,00
2 · Dépôt en banque de la remise (Parcours E)
512…Compte bancaire choisi pour la remise770,00
5112Chè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).

02

Contrôle d'accès

Chaque appel exige un jeton d'accès OAuth2. Le client doit aussi être explicitement autorisé sur la copropriété désignée par idCopro, sinon l'API répond 403. Aucun rôle supplémentaire n'est exigé pour créer, déposer, annuler ou supprimer une remise.

Utilisez toujours, dans une même URL, un identifiant de remise obtenu en listant les remises de cette même copropriété (Parcours F). Ne réutilisez jamais un identifiant venant d'une autre copropriété, même si votre client y a aussi accès. Certaines routes ne vérifient pas elles-mêmes que la remise appartient bien à la copropriété de l'URL : cette cohérence est de votre responsabilité.

Base URL

Toutes les routes de ce guide commencent par /v2. Elles sont servies depuis https://syndic.datacopro.org en production et https://preprod-syndic.datacopro.org sur la plateforme de test. Elles attendent une extension de format explicite en fin de chemin (.json). Les montants sont exprimés en centimes et les dates au format AAAA-MM-JJ HH:MM:SS.

Format des réponses d'écriture

Les créations, modifications et suppressions renvoient une enveloppe { "code": …, "message": …, "error": … }. message contient l'objet créé ou modifié, ou la liste des erreurs. Sur deux routes de ce guide, le code HTTP vaut toujours 200, même quand l'opération est refusée (voir Parcours G). Lisez toujours le champ code du corps de la réponse.

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 :

  1. Si la remise était en banque, son dépôt est d'abord annulé par contre-passation, comme au Parcours G.
  2. Les documents joints sont détachés de la remise.
  3. Les encaissements sont détachés, pas supprimés. Ils redeviennent libres, avec leurs propres écritures intactes.
  4. 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 :

  1. 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.
  2. 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.
  3. Supprimez la remise.
  4. 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.
04

Référence des endpoints

MéthodeRouteSuccèsRôle
GET/v2/copro/{idCopro}/depots-comptabilites.json200Liste les remises de la copropriété (Parcours F)
GET/v2/copro/{idCopro}/depot-comptabilite/{idDepot}.json200Détail d'une remise
POST/v2/copro/{idCopro}/depot-comptabilite.json201Crée une remise avec ses encaissements (Parcours B, C)
PUT/v2/copro/{idCopro}/depot-comptabilite/{idDepot}.json202Modifie date, libelle, reference ou note. Ne modifie pas les encaissements (Parcours E)
POST/v2/copro/{idCopro}/exercice/{idExercice}/ecritures/depot-comptabilite/{idDepot}.json201Dépose la remise en banque (Parcours E)
GET/v2/copro/{idCopro}/depot-comptabilite/{idDepot}/annuler-remise.json200*Annule le dépôt en banque (Parcours G)
DELETE/v2/copro/{idCopro}/depot-comptabilite/{idDepot}.json204Supprime la remise et libère ses encaissements (Parcours H)
POST/v2/copro/{idCopro}/depot-comptabilite/{idDepot}/document.json201Joint un document à la remise (Parcours D)
PUT/v2/copro/{idCopro}/depot-comptabilite/{idDepot}/lier-encaissement/{idEncaissement}.json200*Rattache un encaissement à une remise existante. À ne pas utiliser : aucun contrôle n'est appliqué. Un encaissement déjà présent dans une autre remise, même déjà en banque, y est déplacé en silence, et son montant serait alors compté deux fois au dépôt. Composez la remise via details à la création
GET/v2/copro/{idCopro}/comptes.json200Comptes bancaires de la copropriété (Parcours A)
GET/v2/copro/{idCopro}.json200Copropriété et ses exercices (dates, clôture)
GET/v2/copro/{idCopro}/coproprietaires.json200Copropriétaires, contacts et mandats SEPA (Parcours C)
POST/v2/copro/{idCopro}/exercice/{idExercice}/encaissement/paiement/{idCstModePaiement}.json201Crée un encaissement (voir le guide Encaissements) : 1 = chèque, 4 = prélèvement

* Le code HTTP vaut 200 même quand l'opération est refusée. Le résultat réel est dans le champ code du corps de la réponse : 202 en cas de succès, 400 en cas de refus.

05

Paramètres transverses

Les deux routes de lecture des remises acceptent les paramètres suivants.

type
Liste uniquement. remise-de-cheques ou prelevement. Il est appliqué à la source, dans la recherche elle-même : c'est le filtre le moins coûteux, à privilégier.
dateDebut
Liste uniquement. Écarte les remises dont la date est antérieure à la valeur passée (AAAA-MM-JJ). Les remises sans date, c'est-à-dire pas encore déposées, sont écartées elles aussi dès que ce paramètre est présent. Pour afficher les remises en attente, ne l'utilisez pas.
filters
Liste uniquement. Même syntaxe que le reste de l'API, sous la forme filters[champ]=<opérateur><valeur>. Il est appliqué après le chargement de toutes les remises de la copropriété : il allège la réponse, pas le traitement serveur.
displays
Les deux routes. displays[extra][]=comptabilite ajoute jeuxDecritures à chaque remise : les écritures de dépôt, et leurs éventuelles annulations. Utile pour un contrôle comptable, inutile pour un simple affichage de statut, que estEnBanque suffit à donner.

Ni tri ni pagination ne sont proposés : la liste renvoie en une fois toutes les remises retenues, chacune avec ses encaissements. Sur une copropriété ancienne, combinez type et dateDebut pour limiter la taille de la réponse, en gardant en tête l'effet de dateDebut sur les remises non déposées.

06

Limites & pièges connus

✕
Créer une remise ne la dépose pas en banque. Il faut une date, puis l'appel de génération des écritures (Parcours E).
✕
L'idExercice de la route d'écritures est ignoré. C'est la date de la remise qui décide de l'exercice (Parcours E).
✕
Déposer en banque une remise sans date, sans compte, d'un type inattendu, ou datée hors de tout exercice, provoque une erreur 500 générique plutôt qu'un 400 explicite (Parcours E).
✕
Déposer une remise sans aucun encaissement « réussit » à chaque appel sans jamais la passer en banque (Parcours E).
✕
L'API ne contrôle ni le mode de paiement ni la comptabilisation des encaissements placés dans une remise. Un intrus fausse le compte d'attente sans message d'erreur (Parcours B).
✕
Changer la date d'une remise déjà en banque répond un succès mais ne déplace pas ses écritures. Il faut annuler, redater, puis redéposer (Parcours G).
✕
L'annulation du dépôt s'appelle en GET et répond 200 même quand elle est refusée. Lisez le code du corps de la réponse (Parcours G).
✕
Une remise dont le dépôt est rapproché ou tombe dans un exercice clôturé ne peut plus être ni annulée ni supprimée (Parcours G, H).
✕
Supprimer une remise ne supprime pas ses encaissements. Pour des prélèvements créés uniquement pour elle, supprimez-les ensuite un par un (Parcours H).
✕
Constituer une remise de prélèvements enchaîne plusieurs appels non transactionnels. Un échec en cours de route laisse des encaissements créés mais non remis (Parcours C).
✕
dateDebut écarte de la liste les remises pas encore déposées (Paramètres transverses).
✕
La référence générée automatiquement suit le nombre de remises de la copropriété. Son unicité n'est pas garantie : une référence déjà utilisée peut être produite à nouveau après une suppression, ou en cas de créations simultanées. Une banque peut refuser un identifiant de lot SEPA déjà reçu. Pour les prélèvements, fournissez votre propre reference unique (Modèle & périmètre, Parcours C).
✕
L'API ne produit ni bordereau ni fichier SEPA. Ils sont à générer de votre côté, puis à joindre à la remise (Parcours D).
07

Questions de validation

Q1.Je viens de créer une remise de prélèvements avec une date. Les fonds apparaissent-ils déjà sur le compte bancaire de la copropriété ?

Non. La date dit quand la remise sera déposée, mais seul l'appel POST …/ecritures/depot-comptabilite/{idDepot}.json crée le mouvement vers le compte bancaire. Jusque-là, les prélèvements restent sur le compte d'attente (s'ils ont été créés avec comptabilite: 1) et la remise renvoie estEnBanque: false. Cet appel comptabilise le dépôt dans l'exercice qui contient la date de la remise, quel que soit l'exercice indiqué dans l'URL. Il échoue si cet exercice est clôturé. Sur une remise qui ne contient aucun encaissement, il ne passe jamais la remise en banque et ajoute un jeu d'écritures vide à chaque appel.

Parcours C, E
Q2.Je me suis trompé de date sur une remise déjà déposée en banque. Un PUT avec la bonne date suffit-il à corriger ?

Non. Le PUT répond un succès et modifie la date affichée, mais les écritures de dépôt gardent l'ancienne date et restent dans l'ancien exercice. Pour corriger, annulez le dépôt (GET …/annuler-remise.json), ce qui efface la date. Fixez ensuite la bonne date par PUT, puis générez à nouveau les écritures. L'annulation est impossible si le dépôt a déjà été rapproché d'un relevé bancaire ou si son exercice est clôturé. Dans ce cas, elle répond tout de même HTTP 200, avec "code": 400 dans le corps. Une annulation réussie renvoie, elle, "code": 202.

Parcours E, G
Q3.Si je supprime une remise de prélèvements, les prélèvements créés pour elle disparaissent-ils aussi ?

Non. La suppression annule le dépôt en banque s'il existait, puis détache les encaissements sans les supprimer. Ils restent en place, sans remise, et s'ils ont été créés avec comptabilite: 1 ils restent sur le compte d'attente des prélèvements. Pour les faire disparaître, relevez leurs identifiants et leurs exercices dans details avant de supprimer la remise, car après le DELETE plus rien ne les relie à elle. Supprimez-les ensuite un par un, jamais avant la remise, puisqu'un encaissement rattaché à une remise n'est pas supprimable. Chacun ne peut être supprimé que si son exercice est ouvert et qu'il n'est pas rapproché : vérifiez-le avant de supprimer la remise. Pour une remise de chèques, ce comportement est au contraire celui qu'on attend : les chèques redeviennent disponibles pour une nouvelle remise.

Parcours H