+sub record {
+ my ($self, $record, %params) = @_;
+
+ my %grouped = _group_records( [ $record ] ); # pass $record as arrayref
+ my $type = (keys %grouped)[0];
+
+ return $self->sales_invoice( $record, %params) if $type eq 'sales_invoices';
+ return $self->purchase_invoice($record, %params) if $type eq 'purchase_invoices';
+ return $self->ar_transaction( $record, %params) if $type eq 'ar_transactions';
+ return $self->ap_transaction( $record, %params) if $type eq 'ap_transactions';
+ return $self->gl_transaction( $record, %params) if $type eq 'gl_transactions';
+
+ return '';
+}
+