. */ declare(strict_types=1); use FireflyIII\Import\JobConfiguration\BunqJobConfiguration; use FireflyIII\Import\JobConfiguration\FakeJobConfiguration; use FireflyIII\Import\JobConfiguration\FileJobConfiguration; use FireflyIII\Import\JobConfiguration\FinTSJobConfiguration; use FireflyIII\Import\JobConfiguration\SpectreJobConfiguration; use FireflyIII\Import\JobConfiguration\YnabJobConfiguration; use FireflyIII\Import\Prerequisites\BunqPrerequisites; use FireflyIII\Import\Prerequisites\FakePrerequisites; use FireflyIII\Import\Prerequisites\SpectrePrerequisites; use FireflyIII\Import\Prerequisites\YnabPrerequisites; use FireflyIII\Import\Routine\BunqRoutine; use FireflyIII\Import\Routine\FakeRoutine; use FireflyIII\Import\Routine\FileRoutine; use FireflyIII\Import\Routine\FinTSRoutine; use FireflyIII\Import\Routine\SpectreRoutine; use FireflyIII\Import\Routine\YnabRoutine; use FireflyIII\Support\Import\Routine\File\CSVProcessor; return [ // these import providers are available: 'enabled' => [ 'fake' => true, 'file' => true, 'bunq' => false, 'spectre' => true, 'ynab' => true, 'plaid' => false, 'quovo' => false, 'yodlee' => false, 'fints' => true, 'bad' => false, // always disabled ], // demo user can use these import providers (when enabled): 'allowed_for_demo' => [ 'fake' => true, 'file' => false, 'bunq' => false, 'spectre' => false, 'ynab' => false, 'plaid' => false, 'quovo' => false, 'yodlee' => false, 'fints' => false, ], // a normal user user can use these import providers (when enabled): 'allowed_for_user' => [ 'fake' => false, 'file' => true, 'bunq' => true, 'spectre' => true, 'ynab' => true, 'plaid' => true, 'quovo' => true, 'yodlee' => true, 'fints' => true, ], // some providers have pre-requisites. 'has_prereq' => [ 'fake' => true, 'file' => false, 'bunq' => true, 'spectre' => true, 'ynab' => true, 'plaid' => true, 'quovo' => true, 'yodlee' => true, 'fints' => false, ], // if so, there must be a class to handle them. 'prerequisites' => [ 'fake' => FakePrerequisites::class, 'file' => false, 'bunq' => BunqPrerequisites::class, 'spectre' => SpectrePrerequisites::class, 'ynab' => YnabPrerequisites::class, 'plaid' => false, 'quovo' => false, 'yodlee' => false, 'fints' => false, ], // some providers may need extra configuration per job 'has_job_config' => [ 'fake' => true, 'file' => true, 'bunq' => true, 'spectre' => true, 'ynab' => true, 'plaid' => false, 'quovo' => false, 'yodlee' => false, 'fints' => true, ], // if so, this is the class that handles it. 'configuration' => [ 'fake' => FakeJobConfiguration::class, 'file' => FileJobConfiguration::class, 'bunq' => BunqJobConfiguration::class, 'spectre' => SpectreJobConfiguration::class, 'ynab' => YnabJobConfiguration::class, 'plaid' => false, 'quovo' => false, 'yodlee' => false, 'fints' => FinTSJobConfiguration::class, ], // this is the routine that runs the actual import. 'routine' => [ 'fake' => FakeRoutine::class, 'file' => FileRoutine::class, 'bunq' => BunqRoutine::class, 'spectre' => SpectreRoutine::class, 'ynab' => YnabRoutine::class, 'plaid' => false, 'quovo' => false, 'yodlee' => false, 'fints' => FinTSRoutine::class, ], 'options' => [ 'fake' => [], 'file' => [ 'import_formats' => ['csv'], // mt940 'default_import_format' => 'csv', 'processors' => [ 'csv' => CSVProcessor::class, ], ], 'bunq' => [ 'live' => [ 'server' => 'api.bunq.com', 'version' => 'v1', ], 'sandbox' => [ 'server' => 'sandbox.public.api.bunq.com', // sandbox.public.api.bunq.com - api.bunq.com 'version' => 'v1', ], ], 'spectre' => [ 'server' => 'www.saltedge.com', ], 'ynab' => [ 'live' => 'api.youneedabudget.com', 'version' => 'v1', ], 'plaid' => [], 'quovo' => [], 'yodlee' => [], ], ];