Zahlungsparser

This commit is contained in:
2026-09-09 16:55:08 +02:00
parent ae13841699
commit 651b6147bf
38 changed files with 3308 additions and 22 deletions
@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* Zwei Spuren, die der Zahlungsimport aus dem Kontoauszug hinterlässt.
*
* `refund_data` -- ob wir wissen, von welchem Konto der Beitrag kam. Erstattet wird ausschließlich auf
* dieses Konto; bisher muss die teilnehmende Person das selbst zusichern, weil die App es nicht weiß.
* Die IBAN und der Kontoinhaber selbst liegen in `payment_options` (die Überweisung weiß, wie ihre
* Felder heißen), hier steht nur das Signal „vorhanden".
*
* `last_payment_date` -- der Buchungstag der zuletzt eingebuchten Zahlung. Er ist das Wasserzeichen
* gegen Doppelbuchung: Wird derselbe Auszug ein zweites Mal hochgeladen, fallen alle Umsätze heraus,
* die älter sind als die letzte erfasste Zahlung dieser Person.
*/
return new class extends Migration
{
public function up(): void
{
Schema::table('event_participants', function (Blueprint $table) {
$table->boolean('refund_data')->default(false)->after('payment_options');
$table->date('last_payment_date')->nullable()->after('refund_data');
});
}
public function down(): void
{
Schema::table('event_participants', function (Blueprint $table) {
$table->dropColumn(['refund_data', 'last_payment_date']);
});
}
};