I've been playing around with spark over the weekend with stripe and everything has been working well until I noticed that there are no invoices generated when a user subscribes to a plan. Everything else on the app seems to be working fine, emails/notifications.
That depends a little on your currency, too (sounds odd, but it is)
If you have set it to $ there are only invoices created if there has been a payment (triggered via a webhook from stripe - I guess you did set webhook url in stripe)
If you have anything else than $ set as currency the system will indeed create invoices on signup for a paid plan (even during trial period) so you should see it immediately (~2-10 seconds) after signup.
The reason for the different behaviour is that there is a hardcoded check for invoice_total != $ 0 somewhere in the code. So for non-dolar value it always creates an invoice, for $ currency only if it is not null.