Skip to main content

Bill8:Reporting — Business Requirements & Functionality

Audience: product owners, business analysts, and anyone evaluating what Bill8:Reporting does for the business. For architecture read README.md; for wire-level detail read DESIGN.md.

1. Business Purpose​

Bill8:Reporting is the reporting surface. It delivers:

  • Consistent reports — report types define a query shape, and runs snapshot data at a point in time.
  • Scheduled delivery — scheduled reports deliver output files.

2. Business Scope (What the Service Provides)​

#CapabilityWhat the business gets
1Report typesVersioned report definitions
2Report runsExecutions with status + output reference

What the service does NOT own (business boundary):

Out of scopeOwned by
Underlying dataOwning services (read via public API)
Object storageSentin8:Storage
SchedulingSentin8:Cron

3. Business Capabilities​

CapabilityBusiness rule
Run a reportA run snapshots data for a period
Schedule a reportA scheduled run delivers output files

4. Business Events (Outbound)​

EventFires when
report_type:createdA report type is defined
report_run:created/succeeded/failedA run lifecycle changes

5. Business Rules & Invariants​

  1. A run is idempotent per (env_id, report_type, period).
  2. Output files are referenced, never inlined.

6. Target-User Roles & Use Cases​

PersonaDoes
MerchantRun and download reports
OperatorSchedule period-end reports

7. KPIs / Success Criteria​

KPIMeasure
Run successsucceeded / attempted

8. Dependencies & Reliance on Other Services​

RelianceOn
Data readsBill8:Payments, Bill8:Ledger
Object storageSentin8:Storage
SchedulingSentin8:Cron

9. Acceptance Criteria​

  1. A merchant can run a report and retrieve its output.
  2. A scheduled report delivers output files on schedule.

10. Open Business Questions​

  • See backlog.md RPT-*.

Design attribution: bill8:reporting and its underlying concepts were designed by Hamid Jahanzad Hamid@Jahanzad.com.