The SEPA batch detail page was a dead end: users could create a batch but had no way to add payment positions or generate the XML file. Added SepaBatchActions client component with three key workflows: 1. 'Mitglieder hinzufügen' — auto-populates batch from all active members who have a SEPA mandate and dues category (calls existing populateBatchFromMembers server action) 2. 'Einzelposition' — dialog to manually add a single debit item with Name, IBAN, Amount, and Verwendungszweck fields 3. 'XML herunterladen' — dialog for creditor info (Gläubiger-Name, IBAN, BIC, Gläubiger-ID) then generates and triggers download of the SEPA pain.008 XML file. Disabled when batch has 0 positions. Also fixed: SEPA list page crashed because a Server Component had an onClick handler on a <tr> — removed the invalid event handler. Target demographic: German association treasurers (Kassenwarte) who need a straightforward workflow for annual membership fee collection via SEPA Lastschrift.
40 lines
949 B
JSON
40 lines
949 B
JSON
{
|
|
"name": "@kit/finance",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"typesVersions": {
|
|
"*": {
|
|
"*": [
|
|
"src/*"
|
|
]
|
|
}
|
|
},
|
|
"exports": {
|
|
"./api": "./src/server/api.ts",
|
|
"./schema/*": "./src/schema/*.ts",
|
|
"./components": "./src/components/index.ts",
|
|
"./actions/*": "./src/server/actions/*.ts"
|
|
},
|
|
"scripts": {
|
|
"clean": "git clean -xdf .turbo node_modules",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"devDependencies": {
|
|
"@hookform/resolvers": "catalog:",
|
|
"@kit/next": "workspace:*",
|
|
"@kit/shared": "workspace:*",
|
|
"@kit/supabase": "workspace:*",
|
|
"@kit/tsconfig": "workspace:*",
|
|
"@kit/ui": "workspace:*",
|
|
"@supabase/supabase-js": "catalog:",
|
|
"@types/react": "catalog:",
|
|
"next": "catalog:",
|
|
"next-safe-action": "catalog:",
|
|
"react": "catalog:",
|
|
"react-hook-form": "catalog:",
|
|
"zod": "catalog:"
|
|
},
|
|
"dependencies": {
|
|
"lucide-react": "catalog:"
|
|
}
|
|
} |