HasReceivables
What is owed and late.
The part of a customer's account that is past its due date, read at one date :
the amount itself (overdue), the same amount split by how long it has been
late (four buckets), the part of it booked on doubtful accounts (doubtful),
how late the oldest piece is (daysLate) and how many pieces make it up
(numberOfDocuments). Nothing not yet due, nothing settled : a record that
carries these figures says what is late, and only that.
๐ The four buckets add up to overdue, and nothing else does. A piece
sits in exactly one bucket, decided by its due date and the date the figures
were read at. On a record read on 22 September :
Vialaret Joinery, read on 22 September :
overdue1To30.value 3 100 due 21 days ago
overdue31To60.value 0
overdue61To90.value 5 400 due 62 days ago
overdueOver90.value 2 650 due 98 days ago
overdue.value 11 150 = 3 100 + 0 + 5 400 + 2 650
doubtful.value 2 650 the oldest piece, booked on a doubtful account
daysLate.value 98 the oldest due date passed
numberOfDocuments 3 three pieces past due
โ ๏ธ These figures are a snapshot, not a series. They are true at the date
they were read and at no other : a payment recorded the next morning changes
every one of them. A new reading replaces the previous one โ nothing is
ever added across time โ, and the date it was read at travels with it, on
whatever holds the trait (CustomerReceivables::$observationDate).
For the same reason every measure carries a value and never a values :
a snapshot has no months.
โ ๏ธ Absent means ยซ nothing of that kind ยป, never zero. A record with no
doubtful has nothing booked on a doubtful account ; a record with no
daysLate has nothing past due โ and then it should not exist at all, since
these figures describe what is late. A zero would state that something was
measured and found empty.
โ ๏ธ daysLate does not add up. The amounts sum term by term across records
โ the overdue of a portfolio is the sum of its customers' โ, but the days do
not : ten customers ninety days late are not nine hundred days late. Whoever
summarizes several records takes the largest, or leaves it out, and says which.
The amounts are those of the books, tax included, as the books state them : a salesperson collecting a payment needs the figure the customer actually owes.
They are not among the ten measures of HasTradingMeasures : those describe a year of trade, cut month by month ; this describes a debt at one date, with no month at all. A family composes this trait when it has such a debt to carry.
A property is typed null|array|ObservationSeries for the same reason as the
ten measures : the union names a single class, so
Reflection::hydrate() resolves a stored row on its own.
Tags
Table of Contents
Properties
- $daysLate : null|array<string|int, mixed>|ObservationSeries
- How late the oldest piece past due is, in days, at the date the figures were read.
- $doubtful : null|array<string|int, mixed>|ObservationSeries
- The part of {@see HasReceivables::$overdue} booked on doubtful accounts โ the pieces the books have moved out of the customer's ordinary account because their recovery is in doubt.
- $numberOfDocuments : null|int
- How many pieces past due make up {@see HasReceivables::$overdue}, credit notes included.
- $overdue : null|array<string|int, mixed>|ObservationSeries
- What is owed and past its due date, at the date the figures were read : the sum of the balances of the pieces not settled whose due date has passed, credit notes deducted.
- $overdue1To30 : null|array<string|int, mixed>|ObservationSeries
- The part of {@see HasReceivables::$overdue} due between 1 and 30 days ago.
- $overdue31To60 : null|array<string|int, mixed>|ObservationSeries
- The part of {@see HasReceivables::$overdue} due between 31 and 60 days ago.
- $overdue61To90 : null|array<string|int, mixed>|ObservationSeries
- The part of {@see HasReceivables::$overdue} due between 61 and 90 days ago.
- $overdueOver90 : null|array<string|int, mixed>|ObservationSeries
- The part of {@see HasReceivables::$overdue} due more than 90 days ago.
Properties
$daysLate
How late the oldest piece past due is, in days, at the date the figures were read.
public
null|array<string|int, mixed>|ObservationSeries
$daysLate
One figure for the whole record โ the longest wait, not an average โ,
with the UN/CEFACT day code DAY as its unit. Absent when nothing is past
due. A maximum, never a sum : see HasReceivables.
Tags
Attributes
- #[HydrateAs]
- \xyz\oihana\schema\statistics\ObservationSeries::class
$doubtful
The part of {@see HasReceivables::$overdue} booked on doubtful accounts โ the pieces the books have moved out of the customer's ordinary account because their recovery is in doubt.
public
null|array<string|int, mixed>|ObservationSeries
$doubtful
A part of overdue, never an addition to it : doubtful โค overdue. Absent
when nothing is booked that way.
Tags
Attributes
- #[HydrateAs]
- \xyz\oihana\schema\statistics\ObservationSeries::class
$numberOfDocuments
How many pieces past due make up {@see HasReceivables::$overdue}, credit notes included.
public
null|int
$numberOfDocuments
A plain count, not a measure : it has no unit and no series, and it adds up across records the way StatisticsSummary::$numberOfItems counts records. It tells one large invoice from fifteen small ones, which are not chased the same way.
Tags
$overdue
What is owed and past its due date, at the date the figures were read : the sum of the balances of the pieces not settled whose due date has passed, credit notes deducted.
public
null|array<string|int, mixed>|ObservationSeries
$overdue
Not what is due later, not what a bill of exchange awaiting acceptance covers, not what is settled. The sum of the four buckets, to the cent.
Tags
Attributes
- #[HydrateAs]
- \xyz\oihana\schema\statistics\ObservationSeries::class
$overdue1To30
The part of {@see HasReceivables::$overdue} due between 1 and 30 days ago.
public
null|array<string|int, mixed>|ObservationSeries
$overdue1To30
Tags
Attributes
- #[HydrateAs]
- \xyz\oihana\schema\statistics\ObservationSeries::class
$overdue31To60
The part of {@see HasReceivables::$overdue} due between 31 and 60 days ago.
public
null|array<string|int, mixed>|ObservationSeries
$overdue31To60
Tags
Attributes
- #[HydrateAs]
- \xyz\oihana\schema\statistics\ObservationSeries::class
$overdue61To90
The part of {@see HasReceivables::$overdue} due between 61 and 90 days ago.
public
null|array<string|int, mixed>|ObservationSeries
$overdue61To90
Tags
Attributes
- #[HydrateAs]
- \xyz\oihana\schema\statistics\ObservationSeries::class
$overdueOver90
The part of {@see HasReceivables::$overdue} due more than 90 days ago.
public
null|array<string|int, mixed>|ObservationSeries
$overdueOver90
Tags
Attributes
- #[HydrateAs]
- \xyz\oihana\schema\statistics\ObservationSeries::class