Kontrolle: Schlussrechnung setzt die AB aus dem Projektdatensatz auf abgerechnet

Nach dem Umhaengen gilt die neue AB, nicht die aus den Stripe-Metadaten.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-07 15:19:04 +00:00
1 parent 1bb172ad91
commit 4177b76d82
2 files changed
+19 -2

No files matched your search

+7 -2
View File
@@ -5,7 +5,7 @@ import { addDays, berlinDate, daysBetween } from './dates.js'
import { RECHNUNGS_ARTEN, AB_RECHNUNGS_ARTEN, sperreRechnung } from '../auftraege/konstanten.js'
import { withLocks } from '../keyedLock.js'
import { baueRechnung, ladeFestenKunden, buche, gibProjektRechnungFrei, setzeAbAbgerechnet, pruefeVorSenden, hatSchlussEntwurf } from '../auftraege/rechnungsbau.js'
import { createProjektRechnung, updateProjektRechnung } from '../auftraege/projektRechnungenStore.js'
import { createProjektRechnung, getProjektRechnung, updateProjektRechnung } from '../auftraege/projektRechnungenStore.js'
import { getSettings } from './settings.js'
/**
@@ -237,7 +237,12 @@ async function bucheNummer(invoiceId, number, art) {
async function bucheFinalisiert(invoiceId, number, art, auftragId) {
if (!PROJEKT_ARTEN.includes(art)) return
await bucheNummer(invoiceId, number, art)
if (art === 'schluss' && auftragId) await buche('AB abrechnen', () => setzeAbAbgerechnet(auftragId))
if (art !== 'schluss') return
// Massgebend ist die AB im Projektdatensatz (nach umhaengen die neue Fassung), nicht die in den Stripe-Metadaten
await buche('AB abrechnen', async () => {
const abId = (await getProjektRechnung(invoiceId))?.auftragId || auftragId
if (abId) await setzeAbAbgerechnet(abId)
})
}
/** Storniert oder geloescht: Datensatz inaktiv (Blaetter frei); bei einer Schlussrechnung geht die AB zurueck. */