Aller au contenu principal

9. Activer & paramétrer un dossier

Observé — activation d’un dossier existant puis paramétrage facturation auto, loyers, solde et révision.

Pourquoi

Passer un dossier en actif, brancher la facturation automatique, aligner les postes de loyer, ajuster le solde d’ouverture et la révision de loyer.

Prérequis

  • Dossier de location existant (id)
  • Compte locatif associé (rentalAccountId)
  • Opérations / lots pour les rentItems
  • Codes TVA : vatCodeId et vatExemptionCodeId sur chaque poste (RentalAccountRentItemsInput — optionnels aujourd’hui, prévus obligatoires ; listVatCodes / listVatExemptionCodes)
  • Optionnel : effectiveEntryDate (date d’effet d’entrée) pour changeStateToActive

9.1 Activer le dossier (changeStateToActive)

mutation changeStateToActive($id: UUID!, $effectiveEntryDate: Date) {
changeStateToActive(id: $id, effectiveEntryDate: $effectiveEntryDate) {
id
reference
}
}
{
"id": "00000000-0000-4000-8000-000000000093",
"effectiveEntryDate": null
}

9.2 Facturation automatique (updateAutoInvoicingConfig)

mutation updateAutoInvoicingConfig($rentalAccountId: UUID!, $autoInvoicingConfig: AutoInvoicingConfigInput!) {
updateAutoInvoicingConfig(
rentalAccountId: $rentalAccountId
autoInvoicingConfig: $autoInvoicingConfig
) {
id
isActive
invoicingFrequency
}
}
{
"rentalAccountId": "00000000-0000-4000-8000-000000000094",
"autoInvoicingConfig": {
"invoicingStartDate": "2026-07-13",
"invoicingEndDate": null,
"invoicingFrequency": "monthly",
"invoicingTimeWindow": "calendar",
"dueDateMethod": "paid_in_advance",
"dueDatePositioning": "start_of_month",
"paymentDueDay": 5,
"automationStartDate": "2026-08-03",
"automationEndDate": null,
"accountingInvoiceConfigId": "00000000-0000-4000-8000-000000000095",
"invoicingOffset": 10,
"autoSendTime": "06:30:00",
"isActive": true
}
}
# payload.json = query + variables ci-dessus
curl -sS -X POST "$UBLO_GRAPHQL_URL" \
-H "Authorization: Bearer $UBLO_API_TOKEN" \
-H 'Content-Type: application/json' \
-d @payload.json

9.3 Postes de loyer (updateRentalAccountRentItems)

Montant observé : 60000 (600,00 €).

mutation updateRentalAccountRentItems(
$rentalAccountId: UUID!
$rentalAccountRentItems: [RentalAccountRentItemsInput!]!
$vatTerm: String
) {
updateRentalAccountRentItems(
rentalAccountId: $rentalAccountId
rentalAccountRentItems: $rentalAccountRentItems
vatTerm: $vatTerm
) {
rentalAccountId
}
}
{
"rentalAccountId": "00000000-0000-4000-8000-000000000094",
"rentalAccountRentItems": [
{
"amount": 60000,
"id": "00000000-0000-4000-8000-000000000096",
"operationId": "00000000-0000-4000-8000-000000000003",
"unitId": "00000000-0000-4000-8000-000000000097",
"vatCodeId": "00000000-0000-4000-8000-000000000201",
"vatExemptionCodeId": "00000000-0000-4000-8000-000000000202",
"vatMention": "not_applicable",
"vatRate": 0,
"vatSpecific": "accounting"
}
],
"vatTerm": null
}

9.4 Solde d’ouverture (setBalanceOffset)

Exemple observé : -40000 (−400,00 €).

mutation setBalanceOffset($rentalAccountId: UUID!, $setBalanceOffsetInput: SetBalanceOffsetInput!) {
setBalanceOffset(
rentalAccountId: $rentalAccountId
setBalanceOffsetInput: $setBalanceOffsetInput
) {
rentalAccountId
}
}
{
"rentalAccountId": "00000000-0000-4000-8000-000000000094",
"setBalanceOffsetInput": {
"balanceOffset": -40000
}
}

9.5 Révision de loyer (updateRentRevision)

mutation updateRentRevision($rentalAccountId: UUID!, $rentRevision: RentalAccountRentRevisionInput!) {
updateRentRevision(rentalAccountId: $rentalAccountId, rentRevision: $rentRevision) {
rentalAccountId
}
}
{
"rentalAccountId": "00000000-0000-4000-8000-000000000094",
"rentRevision": {
"currentRevisionId": "00000000-0000-4000-8000-000000000103",
"isAnnualRevisionActive": true,
"isAutomatic": true,
"revisionFrequency": "on_anniversary"
}
}

Note — patch dossier (updateRentalFolder)

updateRentalFolder peut mettre à jour contractDetails, profils, unités, et rentalInsurances. Exemple minimal d’assurance observé :

{
"rentalInsurances": [
{
"startDate": "2026-01-01",
"endDate": "2026-12-31",
"insurerName": "Assureur Exemple",
"policyNumber": "34565677",
"isAutoRenewal": true
}
]
}

Inspectez contractDetails / rentalInsurances selon le besoin ; le payload UI complet est volumineux.

Suite

Créer un dossier de location · Générer & envoyer un contrat