Skip to content

feat(billing): Add invoicer service and uninvoiced contracts endpoint#200

Merged
noahsmartin merged 4 commits intomainfrom
invoicer-service-protos
Apr 17, 2026
Merged

feat(billing): Add invoicer service and uninvoiced contracts endpoint#200
noahsmartin merged 4 commits intomainfrom
invoicer-service-protos

Conversation

@noahsmartin
Copy link
Copy Markdown
Contributor

Introduce a new Invoicer service with a CreateInvoices endpoint that accepts a current timestamp and is intended to be invoked on a schedule to generate invoices for contracts whose billing period has ended.

Add a matching GetUninvoicedContracts endpoint on the Contract service so the Invoicer can enumerate contracts that need invoicing for the current period.

Introduce a new Invoicer service with a CreateInvoices endpoint that
accepts a current timestamp and is intended to be invoked on a schedule
to generate invoices for contracts whose billing period has ended.

Add a matching GetUninvoicedContracts endpoint on the Contract service
so the Invoicer can enumerate contracts that need invoicing for the
current period.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 17, 2026

The latest Buf updates on your PR. Results from workflow ci / buf-checks (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed⏩ skipped✅ passed✅ passedApr 17, 2026, 9:34 PM

noahsmartin and others added 2 commits April 17, 2026 14:33
The set of uninvoiced contracts may exceed what can be returned in a
single response. Add a max_items limit on the request and a truncated
flag on the response so callers can detect when more contracts matched
than were returned, without taking on full pagination.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@noahsmartin noahsmartin merged commit 057a646 into main Apr 17, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants