billing: Update CustomerPlan.invoiced_through documentation.

Clarify what the invoiced_through field on a CustomerPlan indicates
after the changes to the billing state machine as ledger entries
are processed in invoice_plan.

Updates the plan activity page where this field is shown to support
admin users for these changes as well.

Follow-up to #34643.
This commit is contained in:
Lauryn Menard
2025-05-20 13:41:13 +02:00
committed by Tim Abbott
parent e04f232f63
commit 6326b07905
2 changed files with 7 additions and 6 deletions

View File

@@ -120,11 +120,12 @@ class CustomerPlan(AbstractCustomerPlan):
# an email only once and not every time when cron run.
reminder_to_review_plan_email_sent = models.BooleanField(default=False)
# On next_invoice_date, we go through ledger entries that were
# created after invoiced_through and process them by generating
# invoices for any additional users and/or plan renewal. Once the
# invoice is generated, we update the value of invoiced_through
# and set it to the last ledger entry we processed.
# On next_invoice_date, we call invoice_plan, which goes through
# ledger entries that were created after invoiced_through and
# process them. An invoice will be generated for any additional
# users and/or plan renewal (if it's the end of the billing cycle).
# Once all new ledger entries have been processed, invoiced_through
# will be have been set to the last ledger entry we checked.
invoiced_through = models.ForeignKey(
"LicenseLedger", null=True, on_delete=CASCADE, related_name="+"
)

View File

@@ -56,7 +56,7 @@ def get_plan_ledger(request: HttpRequest, plan_id: int) -> HttpResponse:
if plan.invoiced_through is not None:
header_entries.append(
ActivityHeaderEntry(
name="Entry for last invoice",
name="Entry last checked during invoicing",
value=str(plan.invoiced_through),
)
)