169 lines
11 KiB
PHP
169 lines
11 KiB
PHP
<div class="card" style="max-width:700px">
|
||
<div class="card-body">
|
||
<form method="post" action="<?= $h($action) ?>">
|
||
<input type="hidden" name="_back" value="<?= $h($back ?? '/accounts') ?>">
|
||
|
||
<div class="form-grid form-grid-2">
|
||
<div class="form-group">
|
||
<label for="kontonummer">Kontonummer *</label>
|
||
<input type="text" id="kontonummer" name="kontonummer"
|
||
value="<?= $h($account['kontonummer'] ?? '') ?>"
|
||
class="<?= isset($errors['kontonummer']) ? 'input-error' : '' ?>"
|
||
required>
|
||
<?php if (isset($errors['kontonummer'])): ?>
|
||
<div class="error-text"><?= $h($errors['kontonummer']) ?></div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label for="kontenart">Kontenart *</label>
|
||
<select id="kontenart" name="kontenart"
|
||
class="<?= isset($errors['kontenart']) ? 'input-error' : '' ?>" required>
|
||
<option value="">– wählen –</option>
|
||
<?php foreach (['Betriebseinnahme','Betriebsausgabe','Anlagevermögen','Zahlungskonto','Verbindlichkeit','Privat'] as $art): ?>
|
||
<option value="<?= $h($art) ?>"<?= ($account['kontenart'] ?? '') === $art ? ' selected' : '' ?>>
|
||
<?= $h($art) ?>
|
||
</option>
|
||
<?php endforeach; ?>
|
||
</select>
|
||
<?php if (isset($errors['kontenart'])): ?>
|
||
<div class="error-text"><?= $h($errors['kontenart']) ?></div>
|
||
<?php endif; ?>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label for="bezeichnung">Bezeichnung *</label>
|
||
<input type="text" id="bezeichnung" name="bezeichnung"
|
||
value="<?= $h($account['bezeichnung'] ?? '') ?>"
|
||
class="<?= isset($errors['bezeichnung']) ? 'input-error' : '' ?>"
|
||
required>
|
||
<?php if (isset($errors['bezeichnung'])): ?>
|
||
<div class="error-text"><?= $h($errors['bezeichnung']) ?></div>
|
||
<?php endif; ?>
|
||
</div>
|
||
|
||
<div class="form-grid form-grid-2">
|
||
<div class="form-group">
|
||
<label for="steuercode">Steuercode</label>
|
||
<select id="steuercode" name="steuercode">
|
||
<option value="">– kein –</option>
|
||
<?php foreach (['USt19','USt7','VSt19','VSt7'] as $sc): ?>
|
||
<option value="<?= $sc ?>"<?= ($account['steuercode'] ?? '') === $sc ? ' selected' : '' ?>>
|
||
<?= $sc ?>
|
||
</option>
|
||
<?php endforeach; ?>
|
||
</select>
|
||
<div class="form-hint">USt = Ausgangs-USt, VSt = Vorsteuer</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label for="ustva_kz">UStVA Kennzahl (ELSTER)</label>
|
||
<input type="text" id="ustva_kz" name="ustva_kz"
|
||
value="<?= $h($account['ustva_kz'] ?? '') ?>"
|
||
placeholder="z.B. 81, 86, 66">
|
||
<div class="form-hint">Kennzahl im ELSTER-Formular</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-grid form-grid-2">
|
||
<div class="form-group">
|
||
<label for="euer_zeile">EÜR-Zeile</label>
|
||
<select id="euer_zeile" name="euer_zeile">
|
||
<option value="">– keine –</option>
|
||
<?php
|
||
$euerZeilen = [
|
||
// 1. Betriebseinnahmen (Zeilen 12–22)
|
||
'12' => '12 – Betriebseinnahmen Kleinunternehmer (§ 19 Abs. 1 UStG)',
|
||
'14' => '14 – Betriebseinnahmen Land-/Forstwirt (§ 24 UStG)',
|
||
'15' => '15 – Umsatzsteuerpflichtige Betriebseinnahmen',
|
||
'16' => '16 – Betriebseinnahmen umsatzsteuerfrei / nicht steuerbar / § 13b UStG',
|
||
'17' => '17 – Vereinnahmte Umsatzsteuer / USt auf unentgeltliche Wertabgaben',
|
||
'18' => '18 – Vom Finanzamt erstattete/verrechnete Umsatzsteuer',
|
||
'19' => '19 – Veräußerung oder Entnahme von Anlagevermögen',
|
||
'20' => '20 – Private Kfz-Nutzung',
|
||
'21' => '21 – Sonstige Sach-, Nutzungs- und Leistungsentnahmen',
|
||
'22' => '22 – Auflösung von Rücklagen und/oder Ausgleichsposten',
|
||
// 2. Betriebsausgaben – Material / Leistungen / Personal (Zeilen 27–30)
|
||
'27' => '27 – Waren, Rohstoffe und Hilfsstoffe einschl. Nebenkosten',
|
||
'29' => '29 – Bezogene Fremdleistungen',
|
||
'30' => '30 – Ausgaben für eigenes Personal (Gehälter, Löhne, SV-Beiträge)',
|
||
// AfA (Zeilen 31–38)
|
||
'31' => '31 – AfA auf Grundstücke/grundstücksgleiche Rechte',
|
||
'32' => '32 – AfA auf immaterielle Wirtschaftsgüter',
|
||
'33' => '33 – AfA auf bewegliche Wirtschaftsgüter',
|
||
'34' => '34 – Sonderabschreibungen nach § 7b / § 7g Abs. 5 und 6 EStG',
|
||
'35' => '35 – Herabsetzungsbeträge nach § 7g Abs. 2 Satz 3 EStG',
|
||
'36' => '36 – Aufwendungen für geringwertige Wirtschaftsgüter (§ 6 Abs. 2 EStG)',
|
||
'37' => '37 – Auflösung Sammelposten nach § 6 Abs. 2a EStG',
|
||
'38' => '38 – Restbuchwerte der ausgeschiedenen Anlagegüter',
|
||
// Raumkosten (Zeilen 39–41)
|
||
'39' => '39 – Miete/Pacht für Geschäftsräume und betrieblich genutzte Grundstücke',
|
||
'40' => '40 – Aufwendungen für doppelte Haushaltsführung',
|
||
'41' => '41 – Sonstige Aufwendungen für betrieblich genutzte Grundstücke',
|
||
// Sonstige unbeschränkt abziehbare Betriebsausgaben (Zeilen 43–60)
|
||
'43' => '43 – Aufwendungen für Telekommunikation (Telefon, Internet)',
|
||
'44' => '44 – Übernachtungs- und Reisenebenkosten bei Geschäftsreisen',
|
||
'45' => '45 – Fortbildungskosten (ohne Reisekosten)',
|
||
'46' => '46 – Kosten für Rechts- und Steuerberatung, Buchführung',
|
||
'47' => '47 – Miete/Leasing für bewegliche Wirtschaftsgüter (ohne Kfz)',
|
||
'48' => '48 – Erhaltungsaufwendungen (Instandhaltung, Wartung, Reparatur)',
|
||
'49' => '49 – Beiträge, Gebühren, Abgaben und Versicherungen',
|
||
'50' => '50 – Laufende EDV-Kosten (Beratung, Wartung, Reparatur)',
|
||
'51' => '51 – Arbeitsmittel (Bürobedarf, Porto, Fachliteratur)',
|
||
'52' => '52 – Kosten für Abfallbeseitigung und Entsorgung',
|
||
'53' => '53 – Kosten für Verpackung und Transport',
|
||
'54' => '54 – Werbekosten (Inserate, Werbespots, Plakate)',
|
||
'55' => '55 – Schuldzinsen zur Finanzierung von Anschaffungs-/Herstellungskosten AV',
|
||
'56' => '56 – Übrige Schuldzinsen',
|
||
'57' => '57 (Kz 185) – Gezahlte und nach § 15 UStG abziehbare Vorsteuerbeträge',
|
||
'58' => '58 (Kz 186) – An das Finanzamt gezahlte/verrechnete Umsatzsteuer',
|
||
'60' => '60 – Übrige unbeschränkt abziehbare Betriebsausgaben',
|
||
// Beschränkt abziehbare Betriebsausgaben (Zeilen 62–67)
|
||
'62' => '62 – Geschenke (abziehbarer Anteil)',
|
||
'63' => '63 – Bewirtungsaufwendungen (abziehbarer Anteil)',
|
||
'64' => '64 – Verpflegungsmehraufwendungen',
|
||
'65' => '65 – Aufwendungen für ein häusliches Arbeitszimmer (abziehbar)',
|
||
'66' => '66 – Tagespauschale für die Tätigkeit in der häuslichen Wohnung',
|
||
'67' => '67 – Sonstige beschränkt abziehbare Betriebsausgaben (abziehbar)',
|
||
// Kfz-Kosten und andere Fahrtkosten (Zeilen 68–72)
|
||
'68' => '68 – Kfz-Leasingkosten',
|
||
'69' => '69 – Kfz-Steuern, Versicherungen und Maut',
|
||
'70' => '70 – Sonstige tatsächliche Fahrtkosten (ohne AfA und Zinsen)',
|
||
'71' => '71 – Fahrtkosten für nicht zum Betriebsvermögen gehörende Fahrzeuge',
|
||
'72' => '72 – Fahrtkosten Wohnung – erste Betriebsstätte; Familienheimfahrten',
|
||
// Nicht abziehbare Beträge
|
||
'74' => '74 – Nicht abziehbare Betriebsausgaben (§ 4 Abs. 5 EStG u. a.)',
|
||
];
|
||
foreach ($euerZeilen as $val => $label):
|
||
?>
|
||
<option value="<?= $val ?>"<?= ($account['euer_zeile'] ?? '') === (string)$val ? ' selected' : '' ?>>
|
||
<?= $h($label) ?>
|
||
</option>
|
||
<?php endforeach; ?>
|
||
</select>
|
||
<div class="form-hint">Zeilen entsprechen der amtlichen Anlage EÜR 2025; „Kz“ ist die ELSTER-Kennzahl</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label for="beschreibung">Beschreibung</label>
|
||
<textarea id="beschreibung" name="beschreibung"><?= $h($account['beschreibung'] ?? '') ?></textarea>
|
||
</div>
|
||
|
||
<?php if (!empty($account['id'])): ?>
|
||
<div class="form-group">
|
||
<label>
|
||
<input type="checkbox" name="aktiv" value="1"<?= ($account['aktiv'] ?? 1) ? ' checked' : '' ?>>
|
||
Konto aktiv
|
||
</label>
|
||
</div>
|
||
<?php endif; ?>
|
||
|
||
<div style="display:flex;gap:.75rem;margin-top:1.5rem">
|
||
<button type="submit" class="btn btn-primary">Speichern</button>
|
||
<a href="<?= $h($back ?? '/accounts') ?>" class="btn btn-secondary">Abbrechen</a>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|