Anleitung: Jahresabschluss und was aussieht wie ein Konto
Zwei Fragen aus der Praxis, die die Anleitung nicht beantwortete. ## Der Jahresabschluss Sie beschrieb, was in jedem Bericht steht, aber nicht die Reihenfolge und nicht, was man vorher besorgen muss. Der neue Abschnitt beginnt deshalb sechs Wochen vor dem Stichtag: Rueckkaufswerte und Bescheinigungen brauchen Wochen, und wer erst am Stichtag daran denkt, geraet in Verzug. Danach die Staende mit Quellenangabe, dann die Berichte in der Reihenfolge, in der sie aufeinander aufbauen. ## Genossenschaftsanteile Das Gericht fragt einen "Kontoauszug" an, den es nicht gibt: Ein Geschaeftsguthaben ist kein Zahlungskonto, sondern eine Forderung gegen die Genossenschaft. Es laufen keine Buchungen darueber, und ausgezahlt wird erst nach Kuendigung der Mitgliedschaft. Der Fall fuehrt zu einem stillen Fehler: Wer die Anteile als Konto anlegt, kann die Bescheinigung nicht am Wert hinterlegen - genau das Blatt, das das Gericht sehen will. Ein Saldostand traegt eine Quellenangabe, aber kein Dokument; ein Wertstand am Vermoegensposten schon. Deshalb steht im Text nicht nur, was zu tun ist, sondern warum - sonst legt der naechste Leser es wieder als Konto an. Dazu der Hinweis, dass "der Wert bleibt doch gleich" nicht traegt: Wird eine Dividende dem Geschaeftsguthaben gutgeschrieben statt ausgezahlt, waechst es. Genau deshalb fragt man jaehrlich nach, statt den Vorjahreswert fortzuschreiben. Eine Uebersicht behandelt die verwandten Faelle mit - Bausparvertrag, Depot, Verbindlichkeit. Das Depot ist die Ausnahme: Dort laufen Umsaetze, es gibt einen Auszug, es ist ein Konto. Versicherungen gehoeren an den Vertrag, nicht ins Vermoegen. Zehn Pruefungen in tests/anleitung.test.ts, gegen vier Mutationen geprueft: als Konto geraten, Dividendenhinweis entfernt, Vorlauf entfernt, Abschnitt entfernt - jede wird rot. Refs #55
This commit is contained in:
@@ -108,3 +108,85 @@ describe('Installationsanleitung', () => {
|
||||
expect(anleitung).not.toMatch(/Was das Backup nicht enthält:.*Dateien im Objektspeicher/s)
|
||||
})
|
||||
})
|
||||
|
||||
/**
|
||||
* Die Bedienungsanleitung muss die Fragen beantworten, die tatsächlich
|
||||
* gestellt werden.
|
||||
*
|
||||
* Zwei davon kamen aus der Praxis:
|
||||
*
|
||||
* 1. „Wie mache ich den Jahresabschluss?" — die Anleitung beschrieb, was
|
||||
* in jedem Bericht steht, aber nicht die Reihenfolge und nicht, was man
|
||||
* vorher besorgen muss. Rückkaufswerte brauchen Wochen.
|
||||
* 2. „Das Gericht will einen Kontoauszug für die Genossenschaftsanteile —
|
||||
* den kann ich nicht am Automaten holen." Richtig: Es ist kein
|
||||
* Zahlungskonto, sondern eine Forderung, und der Nachweis ist eine
|
||||
* Bescheinigung, die man anfordert.
|
||||
*
|
||||
* Der zweite Fall ist der wichtigere, weil er zu einem stillen Fehler
|
||||
* führt: Wer die Anteile als Konto anlegt, kann die Bescheinigung nicht am
|
||||
* Wert hinterlegen — genau das Dokument, das das Gericht sehen will.
|
||||
*/
|
||||
describe('Bedienungsanleitung', () => {
|
||||
const bedienung = readFileSync('docs/ANLEITUNG.md', 'utf8')
|
||||
|
||||
it('erklärt den Jahresabschluss mit Reihenfolge', () => {
|
||||
expect(bedienung).toMatch(/## Der Jahresabschluss, Schritt für Schritt/)
|
||||
})
|
||||
|
||||
it('sagt, was vor dem Stichtag zu besorgen ist', () => {
|
||||
// Wer erst am Stichtag daran denkt, wartet Wochen auf die Auskunft.
|
||||
const abschnitt = bedienung.slice(bedienung.indexOf('## Der Jahresabschluss'))
|
||||
expect(abschnitt).toMatch(/Sechs Wochen vorher/)
|
||||
expect(abschnitt).toMatch(/Rückkaufswerte/)
|
||||
expect(abschnitt).toMatch(/Wiedervorlage/)
|
||||
})
|
||||
|
||||
it('besteht auf der Quellenangabe beim Kontostand', () => {
|
||||
// Ein Betrag ohne Herkunft ist gegenueber dem Gericht wenig wert.
|
||||
const abschnitt = bedienung.slice(bedienung.indexOf('## Der Jahresabschluss'))
|
||||
expect(abschnitt).toMatch(/Quelle/)
|
||||
expect(abschnitt).toMatch(/Kontoauszug 11\/2026|Online-Banking/)
|
||||
})
|
||||
|
||||
describe('Was aussieht wie ein Konto', () => {
|
||||
const abschnitt = bedienung.slice(bedienung.indexOf('## Was aussieht wie ein Konto'))
|
||||
|
||||
it('gibt es überhaupt', () => {
|
||||
expect(abschnitt.length).toBeGreaterThan(500)
|
||||
})
|
||||
|
||||
it('führt Genossenschaftsanteile als Forderung, nicht als Konto', () => {
|
||||
expect(abschnitt).toMatch(/Genossenschaftsanteile/)
|
||||
expect(abschnitt).toMatch(/Art \*\*Forderung\*\*/)
|
||||
})
|
||||
|
||||
it('nennt den Grund, statt ihn vorauszusetzen', () => {
|
||||
// Ohne Begruendung legt der naechste Leser es wieder als Konto an.
|
||||
expect(abschnitt).toMatch(/Nachweis anhängen|Nachweis anhaengen/)
|
||||
expect(abschnitt).toMatch(/kein Dokument/)
|
||||
})
|
||||
|
||||
it('warnt davor, den Vorjahreswert einfach fortzuschreiben', () => {
|
||||
// "Der Wert bleibt doch gleich" stimmt meistens - aber eine
|
||||
// gutgeschriebene Dividende erhoeht das Geschaeftsguthaben.
|
||||
expect(abschnitt).toMatch(/Dividende/)
|
||||
})
|
||||
|
||||
it('sagt, wie man den Nachweis bekommt', () => {
|
||||
expect(abschnitt).toMatch(/Bescheinigung über das\s+Geschäftsguthaben/)
|
||||
expect(abschnitt).toMatch(/Auskunftsersuchen/)
|
||||
})
|
||||
|
||||
it('behandelt die verwandten Fälle mit', () => {
|
||||
for (const fall of ['Bausparvertrag', 'Depot', 'Verbindlichkeit']) {
|
||||
expect(abschnitt, `${fall} fehlt in der Übersicht`).toContain(fall)
|
||||
}
|
||||
})
|
||||
|
||||
it('schickt Versicherungen zum Vertrag, nicht ins Vermögen', () => {
|
||||
// Der Rueckkaufswert gehoert an den Vertrag, samt Historie.
|
||||
expect(abschnitt).toMatch(/nicht\*\* den Vermögensbereich|Vertrag selbst/)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user