Creating commerce users programmatically I need to import customer data from CSV files with billing and shipping data using Drupal 8.8 and Commerce 2.
I want to create the customer with its address data programmatically, but i do not know how to create billing and shipping.

I create the user as:

 $lang = \Drupal::languageManager()-&gt;getCurrentLanguage()-&gt;getId();
 $user = \Drupal\user\Entity\User::create();
 $user-&gt;setPassword('password');
 $user-&gt;enforceIsNew();
 $email="xyz@email.com";
 $user-&gt;setEmail($email);
 $user-&gt;setUsername($email);
 $user-&gt;set("init", $email);
 $user-&gt;set("langcode", $lang);
 $user-&gt;set("preferred_langcode", $lang);
 $user-&gt;set("preferred_admin_langcode", $lang);
 $user-&gt;activate();
 // Save user account.
 $user-&gt;save();


How do i create its billing and shipping data?
you got 2 options 1 migrate them, such as (https://www.drupal.org/project/migrate_source_csv) 
 or make an admin form to submit the csv file and get the content... 
but really you need to be create profiles for this billing info... 

// Save user account.
$user-&gt;save();
// Add billing info. 
$the_user_created_id = $user-&gt;id();
$profileStorage = \Drupal::entityTypeManager()-&gt;getStorage('profile');
$profile_data = [
 'type' =&gt; 'customer',
 'uid' =&gt; $the_user_created_id,
 'status'=&gt; 1,
 'address' =&gt; [
   "langcode" =&gt; "",
   "country_code" =&gt; "AU",
   "administrative_area" =&gt; "NSW",
   "locality" =&gt; "SOME PLACE",
   "dependent_locality" =&gt; null,
   "postal_code" =&gt; "2000",
   "sorting_code" =&gt; null,
   "address_line1" =&gt; "Some Street",
   "address_line2" =&gt; "",
   "organization" =&gt; "47",
   "given_name" =&gt; "firstname",
   "additional_name" =&gt; null,
   "family_name" =&gt; "lastname",
  ],
];

$new_profile = $profileStorage-&gt;create($profile_data);
$new_profile-&gt;save();