feat: wire receivables into manual and recurring cashbox PDF export

Both the manual download endpoint and the recurring email subscription
now pass buildReceivableRows() output into buildPdf, so every PDF
report includes the Forderungen section regardless of how it was
generated.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Bastian Wagner
2026-08-04 12:26:23 +02:00
parent 02a4d2e59d
commit 6fceee5a07
2 changed files with 5 additions and 4 deletions

View File

@@ -6,7 +6,7 @@ import { Team } from 'src/teams/entities/team.entity';
import { MailService } from 'src/mail/mail.service';
import { LessThanOrEqual, Repository } from 'typeorm';
import { RecurringTransactionIntervalEnum } from 'src/recurring-transactions/recurring-transaction-interval.enum';
import { buildPdf, buildRows } from './cashbox-export.utils';
import { buildPdf, buildReceivableRows, buildRows } from './cashbox-export.utils';
import { CashboxExportSubscription } from './entities/cashbox-export-subscription.entity';
const INTERVAL_MONTHS: Record<RecurringTransactionIntervalEnum, number> = {
@@ -57,7 +57,8 @@ export class CashboxExportScheduler {
const { from, to } = this.periodBounds(subscription.nextRunDate, subscription.interval);
const rows = buildRows(team, from, to);
const pdf = await buildPdf(team, rows, from, to);
const receivableRows = buildReceivableRows(team, from, to);
const pdf = await buildPdf(team, rows, receivableRows, from, to);
const filename = `kassenbuch_${team.alias}_${from}_${to}.pdf`;
await this.mailService.cashboxExport(