Software-update: Firefly III 6.0.0

Firefly III logo (79 pix) Firefly III is een in php geschreven webapplicatie waarmee een overzicht van je financiën kan worden bijgehouden. Het kan de data importeren vanuit csv-bestanden, de bunq-api of de Spectre-api. Voor meer informatie over dit programma verwijzen we naar deze pagina. De ontwikkelaar loopt ook op Tweakers rond en bespreekt zijn applicatie in het Het grote 'Firefly III'-topic. In deze uitgave zijn de volgende veranderingen en verbeteringen aangebracht:

Warnings
  • The upgrade may not be backwards compatible for people who manage outgoing loans (money borrowed to other people). Transactions will be removed or changed. See this Gist for more information.
  • You will need to make a backup of your database.
  • You must use PHP 8.2 or use the Docker container.
Notes
  • The new v3 layout is not yet finished, and it should not be used to edit or add data.
Added
  • Introduce Jetbrains Qodana code scanning for code quality.
  • Reintroduced PHPUnit tests
  • Added a warning for people using the "remote user guard" in combination with Personal Access Tokens.
  • Improved validation across the board.
  • First code to validate a user's financial administration
  • Dark mode CSS
  • New language: Catalan
  • "Working" beta of the new layout under /v3/
  • There is a page for webhooks.
  • Issue 4975 Rules can copy/move description to notes and vice versa
  • Issue 5031 You can invite users to your installation when registration is off
  • Issue 5213 You can trigger recurring transactions beforehand
  • Issue 5592 Transactions have a little history box to show how rules changed them
  • Issue 5752 Firefly III can send Slack notifications instead of emails
  • Issue 5862 Search can filter on reconciled transactions
  • Issue 6086 All search filters can be negative by putting - in front of them
  • Issue 6441 Buttons to purge deleted data, which is easy for data imports
  • Issue 6457 Rule trigger 'transaction exists', that will always trigger
  • Issue 6526 Option to disable rules and/or webhooks when saving transactions
  • Issue 6605 You can search for external ID values
Changed
  • Completely rewritten documentation at https://docs.firefly-iii.org
  • Bad escape in JS code has been fixed.
  • Added date validation in routes for better script kiddie protection
  • Shorter titles in object groups
  • Piggy bank actions are created correctly
  • Some bad spelling in a header check
  • Various errors no longer throw a 500 but a 422 (validation failed)
  • The translations now have a warning in the comments so people don't submit translations.
  • Issue 6824 Fix issue with bills.
  • Issue 6828 Catch bad number in API
  • Issue 6829 Better error catching in API
  • Issue 6831 TypeError when using remote authentication
  • Issue 6834 Will use IBAN in account names if account exists already with a different IBAN
  • Issue 6842 Switch from expense to revenue when importing data.
  • Issue 6855 Do not validate currency if currency is NULL, thanks @eps90!
  • Issue 6869 Liability created via API is not applying opening balance.
  • Issue 6870 Old inactive recurring transactions do not lose categories when the categories are deleted
  • Issue 6974 Auto budget amount fix.
  • Issue 6876 Date field is validated in recurring transactions
  • Issue 6581 Fields were not cleared in the transaction screen in some cases
Fixed Removed
  • Issue 4198 The total available budget amount bar on the /budgets page is no longer manageable but will be auto-calculated
  • Cryptocurrencies in default currency set
  • Unused environment variables
API
  • URLs with underscores in them have been updated to use dashes instead (piggy_banks -> piggy-banks).
  • Issue 6130 You can now create a reconciliation transaction
  • New v2 endpoints, see new documentation at https://api-docs.firefly-iii.org
  • Various API fixes
Security
  • Issue 6826 Hide 2FA information when printing, thanks @jstebenne!
  • Blocked users can access API, and users can unblock themselves using the API. This was reported in CVE-2023-0298.
  • Several other low-key fixes.

Firefly III screenshot

Versienummer 6.0.0
Releasestatus Final
Besturingssystemen Scripttaal
Website Firefly III
Download https://github.com/firefly-iii/firefly-iii/releases/tag/v6.0.0
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

02-03-2023 • 22:09

27

Submitter: Firefly III

Bron: Firefly III

Reacties (27)

27
27
15
2
0
10
Wijzig sortering
1x getest op mijn pc via docker. Een Rabobank csv importeren duurde echt 20min ofzo, echt hilarisch traag. Ik ben geen fan van PHP lol.
Ligt er helemaal aan op welke manier het inladen werkt.

Maakt ie er netjes stukjes van tijdens het inladen of gooit ie alles in één keer in t geheugen?

Je kan in C een programma schrijven die net zo slecht is als een slecht geprogrammeerd PHP stukje.
Maakt ie er netjes stukjes van tijdens het inladen of gooit ie alles in één keer in t geheugen?
Beetje van beiden. Je kan een compleet CSV bestand echt wel managen in memory, samen met wat meta-data. Daarna ga je lekker loopen en API calls doen. PHP kan dat allemaal prima, tot en met 10K complexe rijen (mijn eigen tests). De user interface pollt een lokaal bestandje om te kijken hoever de import is (separaat proces).

Dat gezegd hebbende, het kan wel even duren. De verzender (data importer zelf) drukt gewoon door maar Firefly III zelf heeft vaak tientallen 'rules' die nog verwerkt moeten worden en dat kost gewoon tijd. Als beide onderdelen op dezelfde host draaien houdt het gewoon een x op.

Efficienter kan het altijd, maar de meeste stappen in het proces doen geen aannames over wat er al gedaan is. Elke 'rule' doet een dubbelcheck of de data die gewijzigd moet worden wel actueel is bijvoorbeeld. Dat scheelt veel issues maar kost wel tijd.

Maar voor wie wacht komt alles te laat vrees ik.
Verschild weinig als ze beiden op dezelfde host draaien.

Ik heb een custom docker image gemaakt met alles inclusief. De importer is gewoon traag. Voor ik de ing data importeer draai ik er zelf nog een script overheen om alles goed te laten parsen, mijn script is in 10-20 seconden klaar.
Het probleem is dat de importer maar 1 regel tegelijkertijd verwerkt. en pas doorgaat naar de volgende. Daar zou toch wat meer async in gedaan kunnen worden om de snelheid te verbeteren.

Opzich is het een leuk programma maar het heeft nog zeker paar rare bugs. Het is ook zeer jammer dat je niet kan instellen per wanneer de maand moet lopen (voor als je bv altijd uitgaat van de 25ste als start dag). Daarbij komt er ook nog wel eens wat spook valuta voorbij dat ik denk hoe krijgt het systeem dit weer voor mekaar. Dan is het even wat handwerk en daarna staat alles weer goed.

Het is niet perfect maar zeker een leuke tool. Long live open source en de commited developers.

[Reactie gewijzigd door Aionicus op 23 juli 2024 02:45]

Kom maar op met die GitHub issues, zou ik zeggen.
Haha, ik denk dat je al genoeg te doen hebt. maar als je er echt op staat wil ik wel eens ernaar kijken en ze aanleveren / miss zelfs een pull request klaarzetten voor je.
Dat kan aan van alles liggen, niet in de minste plaats je eigen systeem. Waren het 3 rijen of 3000?
3000 zeker. Parsen, wat rules erop los laten en in de DB knallen? Daar draait C# met compiled expressions en EntityFramework z'n hand niet voor om.
PHP ook niet en al helemaal niet als je Laravel gebruikt.
Ik heb al de nodige keren csv imports gemaakt in diverse php projecten die csv van meer dan 50000 regels importeren met 30+ kolommen en daarbij aardig complexe operaties uitvoeren tijdens de import. Deze zijn altijd in minder dan 1 tot enkele seconden klaar. Het is zeer waarschijnlijk dat de oorzaak heel erg anders ligt dan bij PHP. Een beetje jammer dus van je laatste reactie.

On topic: @Firefly III Super tof dat je van een persoonlijke "frustratie" een mooi open source project hebt gemaakt waar anderen ook hun voordeel aan kunnen hebben.

@JustFogMaxi Misschien zou je een issue aanwillen maken in github met eventueel een voorbeeld csv erbj? Dan kan de community gericht zoeken naar de oorzaak van de trage import zodat dit in de toekomst niet meer hoeft voor te komen

[Reactie gewijzigd door pr8ig op 23 juli 2024 02:45]

De laatste PHP versies zijn gigantisch snel. Ik denk niet dat de taal het probleem is.
Kan Firefly III nou ook een ING-rekening inlezen? (zij het een CSV, zij het middels een API)
Dat kan ik namelijk nergens vinden. Volgens mij stelt ING dat niet beschikbaar voor particuliere rekeningen. Ik heb er geen zin in om alles met de hand over te nemen :)
Jazeker, via Nordigen of Salt Edge. Ik meen Nordigen sowieso.
@Firefly III betekent dit, dit dan dat firefly nu wél in staat is om automatisch bankafschriften te downloaden en aan je boekhouding toe te voegen?
Ik kan in mn ing app per rekening een csv downloaden sterker nog dat kan zelfs in verschillende formaten en over een zelfgekozen tijdsduur

Dus bijvoorbeeld ook van 8-1-23 tot 27-2-24
Terwijl je bij sommige banken echt per kalendermaand zit


Voor mijn persoonlijke gebruikt vind ik het vooral jammer het niet mogelijk is om middels cron automatisch een csv te downloaden Dit omdat andere api calls ook niet geïmplementeerd zijn

Als je, om een goed overzicht te houden dus dagelijks of wekelijks een handmatige import zou moeten doen is firefly nagenoeg net zo onhandig (voor particulieren) als gewoon een exelbestandje invullen en deze vergelijken met je werkelijk saldo

Voor mij de reden het niet te gebruiken
Misschien kan firefly op een of andere manier psd2 wel implementeren desnoods via een betaalde addon
Misschien kan firefly op een of andere manier psd2 wel implementeren desnoods via een betaalde addon
Helaas werkt de PSD2 verordening niet zo :-(

https://docs.firefly-iii....-firefly-iii-support-psd2
Ik gebruik het sinds kort.
De installatie verliep een beetje stroef, maar als alles op zn plek zit is het een top programma!
Ik heb dit in het verleden ook wel een paar keer geprobeerd te gebruiken, maar had vaak snel met de kleine spaardoelen, dat het heen en weer gaan van het geld daartussen problemen gaf in Firefly (m'n saldo kwam nooit overeen daardoor). Is dat ondertussen ook opgelost dat iemand weet?
Ik gebruik dit al even zonder enkele koppeling. Geld uitgeven en daarna nogmaals door het invoeren. Hierdoor heb ik mijn financien goed op orde gekregen, kwam van ver namelijk. Super handig is ook dat je bijlages kan uploaden. Nooit meer bonnetjes kwijt.
Dank voor het beschikbaar stellen van deze tool.
Dit is gebouwd in Laravel... NOICE!
Binnenkort maar is kijken hoe dit werkt en of dit mij gaat helpen :D
@Firefly III Vandaag geprobeerd om een fresh install te doen van v6.0 met behulp van de docker image op mijn Synology. Hierbij krijg ik de volgende foutmelding:
[:crit] [pid 1] (38)Function not implemented: AH00141: Could not initialize random number generator

Ik ben bang dat de Apache versie die je gebruikt hiervoor niet ondersteund wordt door mijn DSM versie: DSM 6.2.4-25556 Update 6. Wellicht dat dit met de laatste versie van DSM. Prima werkt.

Downgraden van v6 naar v5.7.5 loste dit op voor mij.
Klopt. Synology met een te oude Linux kernel. Daar ga ik helaas niets aan kunnen doen.
Snap ik, hopelijk help ik iemand anders met een soort gelijk probleem met mijn post.
Nextcloud kent een zelfde error message. Lijkt op het zelfde als hier nu gebeurd.
Wellicht kan je uit deze info de oplossing halen:
https://github.com/nextcloud/docker/issues/1574

Om dit soort problemen te tackelen, draai ik alles in een debian VM waar ik iets meer controle heb. Dit soort problemen zijn vooralsnog verleden tijd daarmee. Succes!

[Reactie gewijzigd door TweakerCarlo op 23 juli 2024 02:45]

Dankjewel, ik zal er eens een blik op werpen!

Het draait hier allemaal verder prima op de laatste versie die ondersteund wordt door DSM. Trial and error.

Op dit item kan niet meer gereageerd worden.