Revenus en cascade
Visualiser et analyser les revenus mensuels grâce au rapport en cascade.
Le rapport en cascade affiche des informations sur vos revenus mensuels. Vous pouvez sélectionner une série à consulter et vous pouvez choisir jusqu’à quel mois le rapport doit afficher les revenus comptabilisés.
Par exemple, la cascade ci-dessous montre les revenus facturés d’avril 2020 à mai 2020 ainsi que les revenus comptabilisés mensuellement jusqu’à la fin du mois de juin 2020 :
Vous pouvez observer que 2 000 000 USD de revenus nets ont été enregistrés en avril 2020. De ces 2 000 000 USD, 400 000 USD ont été comptabilisés en mai 2020. À la fin du mois de juin, 1 100 000 USD étaient comptabilisés, contre 900 000 USD qui ne l’étaient pas encore.
Revenus enregistrés
La colonne Enregistrés dans le rapport en cascade indique les revenus enregistrés chaque mois. Les revenus enregistrés d’un mois sont le montant des revenus ainsi que les revenus reportés enregistrés par les postes de facture, les paiements ponctuels, les remboursements, les litiges et les utilisations de la facturation à la consommation.
Facture simple
Cet exemple se fonde sur les hypothèses suivantes :
- La facture et le poste de facture sont finalisés le 14 juillet 2020
- Le montant du poste de facture est de 31 USD et sa durée de service va du 21 juillet 2020 au 20 août 2020.
Les revenus en cascade pourraient ressembler à cela :
Enregistrés | Comptabilisés | À compter de septembre 2020 | |||||
Mois | Total | Juin 2020 | Juillet 2020 | Août 2020 | Septembre 2020 | Comptabilisés | Restants |
Juillet 2020 | 31 USD | 11 USD | 20 USD | 31 USD | 0 USD |
Revenus comptabilisés négatifs
Dans les revenus en cascade, les revenus comptabilisés peuvent être négatifs à cause des remboursements, des litiges, des factures annulées et des factures marquées comme irrécouvrables.
Cet exemple se fonde sur les hypothèses suivantes :
- La facture et le poste de facture sont finalisés le 14 juillet 2020
- Le montant du poste de facture est de 31 USD et sa durée de service va du 21 juillet 2020 au 20 août 2020.
- La facture est annulée le 12 septembre 2020.
Les revenus enregistrés pour juillet 2020 seraient de 31 USD net et ceux enregistrés pour septembre 2020 seraient de -31 USD, comme le montrent les revenus en cascade suivants :
Enregistrés | Comptabilisés | À compter de septembre 2020 | |||||
Mois | Total | Juin 2020 | Juillet 2020 | Août 2020 | Septembre 2020 | Comptabilisés | Restants |
Juillet 2020 | 31 USD | 11 USD | 20 USD | 0 USD | 0 USD | ||
Août 2020 | 0 USD | 0 USD | 0 USD | ||||
Septembre 2020 | -31 USD | -31 USD | 0 USD | 0 USD |
Les taxes ne sont pas comprises dans les revenus
En raison des taxes, le montant total de la facture n’est pas forcément égal aux revenus enregistrés.
Cet exemple se fonde sur les hypothèses suivantes :
- La facture et le poste de facture sont finalisés le 14 juillet 2020
- Le montant du poste de facture est de 35 USD et sa durée de service va du 21 juillet 2020 au 20 août 2020.
- La taxe du poste de facture est de 4 USD (inclus)
Même si le montant dû de la facture est de 35 USD, les revenus facturés devraient s’élever à 31 USD à cause de la taxe de 4 USD, comme le montrent les revenus en cascade suivants :
Enregistrés | Comptabilisés | À compter de septembre 2020 | |||||
Mois | Total | Juin 2020 | Juillet 2020 | Août 2020 | Septembre 2020 | Comptabilisés | Restants |
Juillet 2020 | 31 USD | 11 USD | 20 USD | 31 USD | 0 USD |
Le montant dû de la facture est différent des revenus
Le montant dû de la facture n’est pas forcément égal aux revenus, car une facture peut être payée avec le solde client.
Cet exemple se fonde sur les hypothèses suivantes :
- La facture et le poste de facture sont finalisés le 14 juillet 2020
- Le montant du poste de facture est de 31 USD et sa durée de service va du 21 juillet 2020 au 20 août 2020.
- La facture est payée en partie par le solde client pour 10 USD.
Même si le montant dû de la facture est de 21 USD, les revenus s’élèvent à 31 USD, comme le montrent les revenus en cascade suivants :
Enregistrés | Comptabilisés | À compter de septembre 2020 | |||||
Mois | Total | Juin 2020 | Juillet 2020 | Août 2020 | Septembre 2020 | Comptabilisés | Restants |
Juillet 2020 | 31 USD | 11 USD | 20 USD | 31 USD | 0 USD |
Poste de facture
Les postes de facture sont créés automatiquement lors du passage à un abonnement supérieur ou inférieur pour représenter le temps inutilisé du plan précédent et le temps restant du nouveau plan. Les postes de facture peuvent aussi être créés manuellement.
Les revenus enregistrés incluent les revenus d’un poste de facture du mois de sa première apparition.
Cet exemple se fonde sur les hypothèses suivantes :
- Le poste de facture est créé le 14 mai 2020.
- Le montant du poste de facture est de 31 USD et sa durée de service va du 14 mai 2020 au 13 juin 2020.
Enregistrés | Comptabilisés | À compter de septembre 2020 | |||||
Mois | Total | Avril 2020 | Mai 2020 | Juin 2020 | Juillet 2020 | Comptabilisés | Restants |
Mai 2020 | 31 USD | 18 USD | 13 USD | 31 USD | 0 USD |
Pour poursuivre avec cet exemple, imaginons que nous créons une facture le 19 juin 2020. Nous y ajoutons le poste de facture ci-dessus et nous créons un poste supplémentaire avec les hypothèses suivantes :
- Le montant du poste de facture est de 31 USD.
- La période de service du poste de facture va du 21 juin 2020 au 20 juillet 2020.
La facture comporte deux postes de facture. Le premier est le poste créé en mai. Le deuxième est le poste créé le 19 juin 2020. Le montant total de la facture est de 93 USD.
Les revenus en cascade pourraient ressembler à cela :
Enregistrés | Comptabilisés | À compter de septembre 2020 | |||||
Mois | Total | Avril 2020 | Mai 2020 | Juin 2020 | Juillet 2020 | Comptabilisés | Restants |
Mai 2020 | 31 USD | 18 USD | 13 USD | 31 USD | 0 USD | ||
Juin 2020 | 62 USD | 22 USD | 40 USD | 62 USD | 0 USD |
Facturer à la consommation
Cet exemple se fonde sur les hypothèses suivantes :
- Une unité coûte 10 USD.
- Trois unités sont enregistrées en juin 2020.
- Deux unités sont enregistrées en juillet 2020.
- Une facture est finalisée le 15 juillet 2020 afin de facturer cinq unités.
Les revenus en cascade pourraient ressembler à cela :
Enregistrés | Comptabilisés | À compter de septembre 2020 | |||
Mois | Total | Juin 2020 | Juillet 2020 | Comptabilisés | Restants |
Juin 2020 | 30 USD | 30 USD | 30 USD | 0 USD | |
Juillet 2020 | 20 USD | 20 USD | 20 USD | 0 USD |
Duplication dans Sigma
Pour dupliquer le rapport de revenus en cascade dans Sigma, utilisez la table revenue_
.
Cette requête agrège en cascade les revenus dont la date d’écriture est comprise entre novembre 2022 et novembre 2023, comptabilisés jusqu’en novembre 2024. N’hésitez pas à ajuster les dates à votre guise.
Note
Si vous utilisez la fonctionnalité bêta de notre plan comptable, veillez à mettre à jour le mappage unbilled_
dans la requête ci-dessous pour refléter les comptes dans votre grand livre.
select "billing_period", "currency", "total", "2022-11-01", "2022-12-01", "2023-01-01", "2023-02-01", "2023-03-01", "2023-04-01", "2023-05-01", "2023-06-01", "2023-07-01", "2023-08-01", "2023-09-01", "2023-10-01", "2023-11-01", "2023-12-01", "2024-01-01", "2024-02-01", "2024-03-01", "2024-04-01", "2024-05-01", "2024-06-01", "2024-07-01", "2024-08-01", "2024-09-01", "2024-10-01", "2024-11-01", "deferred", "future_billings" from ( with unbilled_ar_accounts as ( values 'UnbilledAccountsReceivable' ) , formatted_changes as ( select booked_date, date_format(accounting_period_date, '%Y-%m-%d') as accounting_period, debit, credit, debit_account_type, credit_account_type, currency, if(lower(currency) in ('bif', 'clp', 'djf', 'gnf', 'jpy', 'kmf', 'krw', 'mga', 'pyg', 'rwf', 'vnd', 'vuv', 'xaf', 'xof', 'xpf'), cast(amount as decimal(18, 0)), cast(0.01 * amount as decimal(18, 2))) as decimalized_settlement_amount, case when debit in (select * from unbilled_ar_accounts) OR credit in (select * from unbilled_ar_accounts) then true else false end AS is_unbilled from revenue_recognition_debits_and_credits ) , raw_net_changes as ( select debit as account, debit_account_type as account_type, decimalized_settlement_amount as raw_net_change, * from formatted_changes union all select credit as account, credit_account_type as account_type, -decimalized_settlement_amount as raw_net_change, * from formatted_changes ) , net_changes as ( select (case when account_type in ('Assets', 'ContraRevenue', 'Expenses', 'Losses') then raw_net_change else -raw_net_change end) as net_change, * from raw_net_changes ) , waterfall_entries as ( select account, currency, date_trunc('month', booked_date) as billing_period, accounting_period, is_unbilled, (net_change * (case when account_type = 'Revenue' then 1 else -1 end)) as net_change from net_changes where account_type in ('Revenue', 'ContraRevenue') ) select currency, billing_period, sum(net_change) as total, nullif(sum(case when accounting_period = '2022-11-01' then net_change else 0 end), 0) as "2022-11-01", nullif(sum(case when accounting_period = '2022-12-01' then net_change else 0 end), 0) as "2022-12-01", nullif(sum(case when accounting_period = '2023-01-01' then net_change else 0 end), 0) as "2023-01-01", nullif(sum(case when accounting_period = '2023-02-01' then net_change else 0 end), 0) as "2023-02-01", nullif(sum(case when accounting_period = '2023-03-01' then net_change else 0 end), 0) as "2023-03-01", nullif(sum(case when accounting_period = '2023-04-01' then net_change else 0 end), 0) as "2023-04-01", nullif(sum(case when accounting_period = '2023-05-01' then net_change else 0 end), 0) as "2023-05-01", nullif(sum(case when accounting_period = '2023-06-01' then net_change else 0 end), 0) as "2023-06-01", nullif(sum(case when accounting_period = '2023-07-01' then net_change else 0 end), 0) as "2023-07-01", nullif(sum(case when accounting_period = '2023-08-01' then net_change else 0 end), 0) as "2023-08-01", nullif(sum(case when accounting_period = '2023-09-01' then net_change else 0 end), 0) as "2023-09-01", nullif(sum(case when accounting_period = '2023-10-01' then net_change else 0 end), 0) as "2023-10-01", nullif(sum(case when accounting_period = '2023-11-01' then net_change else 0 end), 0) as "2023-11-01", nullif(sum(case when accounting_period = '2023-12-01' then net_change else 0 end), 0) as "2023-12-01", nullif(sum(case when accounting_period = '2024-01-01' then net_change else 0 end), 0) as "2024-01-01", nullif(sum(case when accounting_period = '2024-02-01' then net_change else 0 end), 0) as "2024-02-01", nullif(sum(case when accounting_period = '2024-03-01' then net_change else 0 end), 0) as "2024-03-01", nullif(sum(case when accounting_period = '2024-04-01' then net_change else 0 end), 0) as "2024-04-01", nullif(sum(case when accounting_period = '2024-05-01' then net_change else 0 end), 0) as "2024-05-01", nullif(sum(case when accounting_period = '2024-06-01' then net_change else 0 end), 0) as "2024-06-01", nullif(sum(case when accounting_period = '2024-07-01' then net_change else 0 end), 0) as "2024-07-01", nullif(sum(case when accounting_period = '2024-08-01' then net_change else 0 end), 0) as "2024-08-01", nullif(sum(case when accounting_period = '2024-09-01' then net_change else 0 end), 0) as "2024-09-01", nullif(sum(case when accounting_period = '2024-10-01' then net_change else 0 end), 0) as "2024-10-01", nullif(sum(case when accounting_period = '2024-11-01' then net_change else 0 end), 0) as "2024-11-01", sum(case when accounting_period >= '2024-12-01' and is_unbilled = false then net_change else 0 end) as deferred, sum(case when accounting_period >= '2024-12-01' and is_unbilled = true then net_change else 0 end) as future_billings from waterfall_entries where net_change != 0 and billing_period >= timestamp '2022-11-01 00:00:00' and billing_period < timestamp '2023-12-01 00:00:00' group by currency, billing_period order by currency asc, billing_period asc )