SIGN IN SIGN UP

fix(exports): use fee's own period in CSV export (#6038)

## Context

The invoice fees CSV used the usage period for every row.

When an invoice had both arrears and advance-billed rows, some rows
showed the wrong dates.

## Changes

Each CSV row now uses the correct period:

- Subscription and fixed-charge fees use their own billing period.
- Charge fees billed in advance use their stored period.
- Charge fees billed in arrears keep the invoice usage period.
- Commitment fees use their reconciliation period.
- Legacy fees use safe fallback periods.

This change only affects the CSV export. PDFs and APIs are unchanged.

Affected invoices can be fixed by exporting them again.

## Testing

Added tests for advance billing, arrears charges, commitments, legacy
fees, and customer timezones.

---------

Signed-off-by: lago-claude-ai-agent[bot] <297187938+lago-claude-ai-agent[bot]@users.noreply.github.com>
Co-authored-by: lago-claude-ai-agent[bot] <297187938+lago-claude-ai-agent[bot]@users.noreply.github.com>
Co-authored-by: endenis <endenis@users.noreply.github.com>
L
lago-claude-ai-agent[bot] committed
f60cdac584dbead77d45ffa66ced5f6ccac0fc45
Parent: 222d47b
Committed by GitHub <noreply@github.com> on 8/5/2026, 8:04:31 AM