Heads up, I got the following from Reckon last week and again today.
Subject: [IMPORTANT NOTICE] You will no longer be able to re-activate your software
From 30th April 2021 you will no longer be able to re-activate or re-register your Reckon Accounts desktop software and will have read-only access*.
(snipped marketing blah blah blah pay for subscription blah blah blah )
*Additionally, we have made some updates to our Reckon Licence Agreement for Desktop Products. You can read the updated agreement here. These updates took effect on 1 March 2020. If you continue to use our products from this point forward, you agree to the updated Reckon Licence Agreement for Desktop Products. If you do not agree, you can choose to no longer use your Reckon software.
when I got it last week, I checked my (admittedly coming up to 10 years old, but still fine for my needs) QB Pro's install licence info and it's next reactivation date isn't until 2029, but today I read the email more carefully and from the first paragraph it's not actually clear if they mean that it will go read only at the expiry (and you won't be able to reactivate), in my case, 2029, or if they have a remote kill switch to forcibly shut everybody down on the 30th this year into read only.
So, yeah, something to be aware of there, might pay if you are a QB desktop user to get your EOY stuff done early this year if you can just in case.
I have my QB install in a dedicated virtual machine, so I have shut off network to that just in case, I don't need network on it anyway, and taken an extra snapshot in case I have to do the old "give the VM a phoney start date" trick. My business interests have almost simplified enough these days that I could just about go with a spreadsheet these days if I really had to.
PS: Phoney start date/clock for VMWare instances, add to your VMX file...
rtc.startTime = "1089395200"
tools.syncTime = "FALSE"
time.synchronize.restore = "FALSE"
time.synchronize.resume.disk = "FALSE"
time.synchronize.resume.memory = "FALSE"
time.synchronize.shrink = "FALSE"
time.synchronize.tools.startup = "FALSE"
where rtc.startTime is a unix timestamp (seconds since epoch)