Looking at my first example I am using the Table.InsertRows. But because of the Error issue, I think that's why I came up with the alternate version. If you want to eliminate the Errors in the GroupBy step, it can be re-written as such:

Code:
= Table.Group(PreviousStep, {"Customer_ID"}, {{"grp", each Table.InsertRows(_,
                 Table.RowCount(_),
                 {Record.TransformFields(_{0},
                   List.Zip({
                    Record.FieldNames(_{0}), 
                    List.Repeat({(_)=> null}, 
                     Record.FieldCount(_{0}))
                    })
                   )}
                  )}}
               )
A little more convoluted, but it works. I think I went with the Table.Combine() method as you only had to worry about 1 column matching and the others fill in with null automatically.