I get asked this question a lot, mostly from business owners. The answer to this question is that it depends. First a quick accounting lesson of cash vs. accrual. I promise not to keep it too technical!
If you are a cash basis taxpayer, then you record income or sales once you get paid, either by cash, check, or credit card. You also record expenses when you pay them, even if with a credit card.
For an accrual basis taxpayer, you record income when it is earned. For example, if you are a consultant and you sent an invoice to your client in January for December’s work, then you record the income from the invoice during December. The same goes for expenses, as it generally doesn’t matter when you paid your bill, but when you incurred the expense. This means that if you ordered supplies in December, but paid for them in January, you can deduct the expense in December.
Now to answer the original question: A cash basis taxpayer cannot deduct as an expense an outstanding invoice that was not paid by their customer, or tenant, if they are a landlord. Remember, the invoice was not included as income. On the other hand, an accrual basis taxpayer can deduct an expense for non-payment from a customer or tenant, as long as it is deemed uncollectible.
Most small business clients and landlords are on the cash basis method of accounting. It is much easier for record keeping purposes, and especially for income tax purposes.