[FEATURE] auto-generate invoice_id if empty

[TEST] auto-generate invoice_id if empty