Add Enable Banking Data Provider#1122
Conversation
|
This PR is ready for review. I didn't test many edge cases, but the simple E2E flow works. It has been based on Nordigen/GoCardless, except for how the bank list works: EB requires to pre-select a country to show it. However, the benefit is that we know beforehand for how many days the credentials are valid. For users:
That's all in Enable Banking website. You will see the app as "Restricted": this is expected as per Step 2. Restricted means it's limited to pre-authorized accounts. Now, let's do the Data Importer:
If, between Steps 4 and 5, you do not receive any bank account, it is because it has not been authorized in the Step 2 of the Enable Banking step. EB will NOT return bank accounts in Restricted mode which have not been previously authorized. |
|
Very nice, thanks for the hard work! I'll spend some time tomorrow nitpicking the code first, and then I'll try to get it running. I'll leave some comments left and right and then it can be merged into the develop branch. Thanks again! Cheers, |
|
You're welcome @JC5! Feel free to ping back if you face any issues. I've just posted a couple of screenshots for the "happy path journey". The only callout is that, for some reason, receiving the activation email from EB takes a couple of minutes, like 5-10 took me. After that, creating the apps in Restricted mode is quite straightforward. Once this PR is ready to go, I'll raise a different one for the documentation, as users need to be aware about the "pre-linking" requirement for own accounts. |
app/Services/EnableBanking/Conversion/Routine/GenerateTransactions.php
Outdated
Show resolved
Hide resolved
app/Services/EnableBanking/Conversion/Routine/GenerateTransactions.php
Outdated
Show resolved
Hide resolved
resources/views/v2/import/002-authenticate/already-authenticated.blade.php
Show resolved
Hide resolved
|
In use App\Services\EnableBanking\Model\Account as EnableBankingAccount;
// ...
if ($entry instanceof EnableBankingAccount) {
return $entry->getUid() === $importServiceId;
} |
|
In file |
Ah, I was going crazy why I was getting a 500 when creating accounts lol. I thought it was an existing bug in the Data Importer, but makes sense. |
|
Nice work! I see two points, but this is something I / you can pick up after the merge:
Other than that, ready for the Expect some code cleanup / formatting commits while I play around with your code. |
|
No problem @JC5! If you are going to do minor changes already, I'll let you take care of the I'll send you the PR for the documentation in a few minutes though. |
|
Yeah that sounds good, I'll pick that up. Thanks again for the work, this looks really good! |
|
@JC5 When will a new release of the data importer be published, including this functionality? Really looking forward to use it. Great work! |
|
Thanks, but mainly thanks to @barreeeiroo! I hope to promote this after I have finished firefly-iii/firefly-iii#11544. |
|
I'm trying the develop image and there is an issue when trying to execute Thanks! |
|
Come on, you can't just ask for support like this in a closed PR. I'm locking this one. If you need help, start a discussion. This is messy, don't do this. |









This PR fixes issue firefly-iii/firefly-iii#10753
Added Enable Banking as supported provider in Data Importer
Disclaimer: Generative AI has been used for this contribution (my PHP is a bit rusty). All guidance, decisions, revisions, and validation are human-made.