so why would a transaction body field of type checkbox not retain being set to true on a record? the same code in another script keeps the fields set. There's no other code running on this.. just create invoice -> set 2 checkboxes to true. They are true right before the record.save() method