Broken Database with 'recipe errors' Can anyone help?

Everything was working fine until I did a large number of supplier transactions (adding items to the stock). Now when I sell anything I cannot access the warehouse or end the work period. The error message I get (below) mentions recipe errors but I have checked in the DB and everything looks to be fine. Does anyone have any ideas how I can resolve this? I do have a DB backup which I can restore but will lose 3 weeks of work…Most grateful for any suggestions.

[Exception Info 1]

Top-level Exception
Type:        System.Exception
Message:     Inventory calculation generated an error. Check your recipes. 

[Exception Info 2]

Top-level Exception
Type:        System.NullReferenceException
Message:     Object reference not set to an instance of an object.
Source:      Samba.Services
Stack Trace: at Samba.Services.Implementations.CacheService.<>c__DisplayClass217_0.<GetRecipe>b__0(Recipe x) in C:\Users\emree\Documents\Github\SambaPOSPro\Samba.Services\Implementations\CacheService.cs:line 832
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
   at Samba.Services.Implementations.CacheService.GetRecipe(String portionName, Int32 menuItemId) in C:\Users\emree\Documents\Github\SambaPOSPro\Samba.Services\Implementations\CacheService.cs:line 832
   at Samba.Services.Implementations.InventoryModule.ConsumptionBuilder.UpdateConsumption(PeriodicConsumption pc, Int32 warehouseId, IEnumerable`1 tickets, IList`1 recipes) in C:\Users\emree\Documents\Github\SambaPOSPro\Samba.Services\Implementations\InventoryModule\ConsumptionBuilder.cs:line 136
   at Samba.Services.Implementations.InventoryModule.ConsumptionBuilder.CreatePeriodicConsumptionItems(Int32 wid, PeriodicConsumption pc, IList`1 inventoryItems, PeriodicConsumption previousPc, IList`1 tickets, IList`1 recipes) in C:\Users\emree\Documents\Github\SambaPOSPro\Samba.Services\Implementations\InventoryModule\ConsumptionBuilder.cs:line 119
   at Samba.Services.Implementations.InventoryModule.ConsumptionBuilder.CreateWarehouseConsumption(Int32 warehouseId) in C:\Users\emree\Documents\Github\SambaPOSPro\Samba.Services\Implementations\InventoryModule\ConsumptionBuilder.cs:line 90
   at Samba.Services.Implementations.InventoryModule.InventoryService.GetCurrentWarehouseConsumptionFor(WorkPeriod currentWorkPeriod, WorkPeriod previousWorkPeriod, Int32 warehouseId) in C:\Users\emree\Documents\Github\SambaPOSPro\Samba.Services\Implementations\InventoryModule\InventoryService.cs:line 135
   at Samba.Modules.InventoryModule.WarehouseInventoryViewModel.UpdateSelectedWarehouse(Int32 warehouseId)
   at Samba.Modules.InventoryModule.WarehouseInventoryViewModel.Refresh(Int32 warehouseId)
   at Samba.Modules.InventoryModule.InventoryModule.OnNavigate(String parameterName)

Try executing the maintenance tasks (Workperiod must be closed) …