Error when mailing quotes

Hi everybody,

running self-hosted IN v5.8.41-C156 on Ubuntu and since one of the latest updates (not sure which though - pretty sure it was working around v5.8.35 -ish) mailing quotes isn’t working anymore.
From what I can gather from the logs there seems to be an issue with the eInvoice module. Any ideas on how to fix it? Disabling eInvoices is a temporary fix, but obviously we would like to keep it enabled :wink:

Here is the latest excerpt from the logs:

[2024-04-04 14:23:12] production.ERROR: Call to undefined method App\Services\Quote\QuoteService::getEInvoice() {"exception":"[object] (Error(code: 0): Call to undefined method App\\Services\\Quote\\QuoteService::getEInvoice() at /var/www/invoiceninja/app/Services/Email/EmailDefaults.php:324)
[stacktrace]
#0 /var/www/invoiceninja/app/Services/Email/EmailDefaults.php(76): App\\Services\\Email\\EmailDefaults->setAttachments()
#1 /var/www/invoiceninja/app/Services/Email/Email.php(234): App\\Services\\Email\\EmailDefaults->run()
#2 /var/www/invoiceninja/app/Services/Email/Email.php(108): App\\Services\\Email\\Email->setDefaults()
#3 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\\Services\\Email\\Email->handle()
#4 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#5 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#6 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod()
#7 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\\Container\\BoundMethod::call()
#8 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\\Container\\Container->call()
#9 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Bus\\Dispatcher->Illuminate\\Bus\\{closure}()
#10 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#11 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\\Pipeline\\Pipeline->then()
#12 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(124): Illuminate\\Bus\\Dispatcher->dispatchNow()
#13 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Queue\\CallQueuedHandler->Illuminate\\Queue\\{closure}()
#14 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(126): Illuminate\\Pipeline\\Pipeline->then()
#16 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\\Queue\\CallQueuedHandler->dispatchThroughMiddleware()
#17 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\\Queue\\CallQueuedHandler->call()
#18 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\\Queue\\Jobs\\Job->fire()
#19 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\\Queue\\Worker->process()
#20 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\\Queue\\Worker->runJob()
#21 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(138): Illuminate\\Queue\\Worker->daemon()
#22 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(121): Illuminate\\Queue\\Console\\WorkCommand->runWorker()
#23 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Queue\\Console\\WorkCommand->handle()
#24 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#25 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#26 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod()
#27 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\\Container\\BoundMethod::call()
#28 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\\Container\\Container->call()
#29 /var/www/invoiceninja/vendor/symfony/console/Command/Command.php(326): Illuminate\\Console\\Command->execute()
#30 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Console/Command.php(181): Symfony\\Component\\Console\\Command\\Command->run()
#31 /var/www/invoiceninja/vendor/symfony/console/Application.php(1096): Illuminate\\Console\\Command->run()
#32 /var/www/invoiceninja/vendor/symfony/console/Application.php(324): Symfony\\Component\\Console\\Application->doRunCommand()
#33 /var/www/invoiceninja/vendor/symfony/console/Application.php(175): Symfony\\Component\\Console\\Application->doRun()
#34 /var/www/invoiceninja/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\\Component\\Console\\Application->run()
#35 /var/www/invoiceninja/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle()
#36 {main}
"} 

Happy to provide additional information if needed!

Hi,

Is the e-invoice feature enabled on Settings > Email Settings?

@david do you have any ideas?

Yes, it’s enabled. If I switch it off, sending quotes works like a charm - except that I cannot send e-invoices of course.

Thanks, understood.

@david should be able to help.

@moritzstern

I’ll tag a new release with a fix.