Valid is a difficult term to define, because checks don't really have an expiration date. Once a check is six months old, the bank it's drawn on can pay the check, unless the issuer of the check has placed a stop payment order, or refuse to pay it without risking a claim that it wrongfully dishonored it.
If you deposit a check that's more than six months old, you risk having it bounced back to your account based on the date. For that reason, you should deposit or cash a check promptly.
If you're the issuer of a check that's more than six months old, and you want to ensure that it won't be paid, you should pay the fee to place a stop payment order, which will be valid at most banks for six months. The risk that the check will show up diminishes over time, so at some point it no longer makes sense to keep renewing a stop payment, with a new fee each time. At that point, you'll need to decide when the risk is small enough. You can then adjust your books, but realize that there still remains a small possibility that the check will show up.
BankingQuestions.com is a free service made possible by the generous support of our advertisers. Advertisers are not responsible for site content. Please help us keep BankingQuestions.com FREE by supporting our advertisers. When you see an ad for a product or service you may have an interest in, click through to learn more.