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:
1 parent
1bb172ad91
commit
4177b76d82
2 files changed
+19
-2
No files matched your search
@@ -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. */
|
||||
|
||||
Reference in new issue
Block a user