Deleting records in relation with other tables
IMHO the best way is: Do not delete the records.

As far as I understand your are talking about accounting and financial information. Usually this information cannot be deleted, at least for a minimum space of time, 5 years on my country. (More time for medical &amp; health products) 

If, for some reason, a customer becomes inactive, use a status field to mark him.


        status | description
        -------|-------------
          0    |   Active
          1    |   Blocked
          2    |   Deleted
          n    |   ....



However, if you must delete all this information. I'd suggest you to define and develop a function (stored procedure, udf, etc) that takes care of all required changes in your DB. May be saving historical information, just to know when, who and why this records has been deleted.