Let's say a Corporation seals a 10 year contract for a set amount of revenue. Some will include the entire amount for the 10 years in the year the deal was signed but Not earned. The IRS likes and even may require this because they get there tax money up front. The Executives of the Corporation like this because it Bloats there sales and their compensation and bonuses are based on sales. So they win. This tactic also makes the Share price go up which everyone likes. however, this negatively effects the remaining years of the contracts. These are the years when insiders maybe selling and screwing the naive retail investors. In those year you will see chargebacks in there accounting.
If you are on Cash basis, Then the money goes when you get payment just as any money you spend on the business is written off immediately, Except for large items that need to be written off over time.
If you are on the accural method, you will need to take inventory of the Dollar value of all your chems in stock at the ending of year and deduct this from your expenses. ie. this decrease your current year write offs.
Keep it simple and go with Cash Method.