I had to use a deferrable foreign key because the payment methods have a reference to the company, and the company now a circular reference to payment method.