{{ if .Error }} {{ else }} {{ template "listControls" .Nav }} {{ if eq (len .Invoices) 0 }} {{ if .Nav.Filtered }} {{ template "listNoMatch" .Nav }} {{ else }}
{{ if not .StripeConfigured }}

Billing data requires Stripe to be configured for this deployment. Configure Stripe.

{{ else }}

No invoices have been projected yet.

{{ end }}
{{ end }} {{ else }}
{{/* View leads and the raw invoice ID is hidden entirely (maintainer 2026-08-23) — the detail page is the row's identity; the ID lives there. */}} {{ range .Invoices }} {{ end }}
View Invoice Organization Status Amount Due Amount Paid Currency Due Date Paid At Stripe Sync Created
View {{ if .InvoiceNumber }} {{ .InvoiceNumber }} {{ else }} {{ end }} {{ if .BillingAccountName }} {{ .BillingAccountName }} {{ end }} {{ if .OrgName }} {{ .OrgName }} {{ else }} {{ .OrgID }} {{ end }} {{ if .Overdue }} Overdue {{ else }} {{ .Status }} {{ end }} {{ .AmountDue }} {{ .AmountPaid }} {{ .Currency }} {{ if .DueDate }} {{ .DueDate }} {{ else }} {{ end }} {{ if .PaidAt }} {{ .PaidAt }} {{ else }} {{ end }} {{ if eq .StripeSyncStatus "synced" }} Synced {{ else if eq .StripeSyncStatus "pending" }} Pending {{ else if eq .StripeSyncStatus "not_mapped" }} Not Mapped {{ else }} {{ .StripeSyncStatus }} {{ end }} {{ .CreatedAt }}
{{ template "listPager" .Nav }} {{ end }} {{ end }}