Create a way to upload statement/receipt documents.
Maybe DropzoneJS can be used to upload multiple files at once.
After uploading, show a paged table of results, with editable fields to fill in missing values.
Simple Media Bulk Upload can do this apparently.
Maybe provide a way to show the pdf next to the form for easier entry.
Experiment with Search API Attachments, Datasette or AI to parse file content and try to automate processing.
It might make sense to put the uploader on the recurring expense/statement page.
A reference field with CER on the document would make creating the expense/statement easier.
Parse date automatically from the file name. Would need to set up rules for each format, or a way to look for dates.
Modules
Media Bulk Upload
https://www.drupal.org/project/media_bulk_upload
Click upload bulk media in the Media admin listing, and then drag files into the field.
Media will be created, and the form refreshes for more.
This patch is needed if not using Dropzone JS.
https://www.drupal.org/project/media_bulk_upload/issues/3355468
Or enable media_bulk_upload_dropzonejs.
Allow to edit media fields for each uploaded item, inline
https://www.drupal.org/project/media_bulk_upload/issues/3011436
Looks like this is close, but still needs some work.
Simple Media Bulk Upload
https://www.drupal.org/project/simple_media_bulk_upload
Bulk upload from Media admin listing.
Select media type, drag files into dropzone.
Goes through each edit form after uploading.
What happens if you stop in the middle of editing each one?
Media Library Bulk Upload
https://www.drupal.org/project/media_library_bulk_upload
Same as Media Bulk Upload, but no dropzone.