Basically I'm designing a Shopify website for a client, we agreed to have them pay me in three installments and the site would be done in 21 days. With the last installment paid when the project is finished. However there is some content she hasn't provided yet (pictures) and may not have them for a little while. The deadline has passed and I don't mind that much, but I'm wondering if I should ask for the last installment (she's paid two already) since the deadline has passed.
This kind of comes down to client relations more than anything...
They don't have a fully working product, and they are the cause of the delay. So, it's a bit different than if they have a full product and want additional work, or if the delay is due to your work, not the client.
What I would do in a similar situation is consider the client. Do I like working with them? Is the delay causing issues for me? Are they using the partial product I've completed?
For the sake of good client relations, I wouldn't be inclined to force the client to stick to the exact payment schedule of the contract if there are unanticipated delays on their part - I would lean towards amending the contract.
In most similar situation I would be inclined to delay the final payment until they have a final product. However, if their delay is expected to be considerable, I may ask for 50% of the final payment, then the remainder when the project is complete. This would be an alteration to contract. So, it needs to be in writing.
That being posted, the existing contract terms you have matter. If the contract stated payment is to be made by [date] without respect to project state, then you would be within the contract terms to ask for payment. If the contract terms state that payment is to be made upon completion, then they are within their rights to not pay you until the project is complete, even if the delay is their fault.
If your agreement is in writing then send a friendly, or even better very simple invoice reminder of payment being past due to keep emotions out of it. If they have an issue, they'll likely contact you. If not, they should pay as agreed. The delay is on their end, not yours. Therefore, your services(and bottom line) shouldn't be affected negatively. Stay professional and simple. Note: If this is a USA based job, most fiscal years are ending and it's important to receive that immediately for the books to stay even. Luck :)