How can I refresh the adjustment tax after changing the line-item price? I create orders programmatically, and I have a tax problem: the order, after changing the line item price, always has the tax cost with the old product price.
How can I refresh the adjustment tax after changing the line-item price?

foreach ($entity_ids as $entity_id) {
    $abo = Node::load($entity_id);

    //utilisateur
    $user = $abo-&gt;get('field_utilisateur')-&gt;getValue()[0]['target_id'];
    $utilisateur = \Drupal\user\Entity\User::load($user);

    //profile
    $entity_manager = \Drupal::entityTypeManager();
    $profile = $entity_manager-&gt;getStorage('profile')-&gt;load($user);

    //abonnement
    $nid= $abo-&gt;id();

    //livraison
    $date_livraison = new DateTime();
    $date_livraison-&gt;modify('next friday');

    //ligne de commande
    $line_items = array();
    $abo_array= $abo-&gt;get('field_abo_produits')-&gt;getValue();

    foreach ($abo_array as $abo_item) {
        $ligne = $abo_item['target_id'];        
        //load produit abonnement      
        $item = \Drupal\commerce_order\Entity\OrderItem::load($ligne);
        $quantite = $item-&gt;getQuantity();
        $produit = $item-&gt;getPurchasedEntity();

        $order_item = \Drupal\commerce_order\Entity\OrderItem::create([
            'type' =&gt; 'default',
            'purchased_entity' =&gt; $produit,
            'quantity' =&gt; $quantite,
            //'unit_price' =&gt; $role_price,
        ]);

        $order_item-&gt;save();        
        array_push($line_items,$order_item);        
    }

    //creation de la commande
    $order = \Drupal\commerce_order\Entity\Order::create([
        'type' =&gt; 'default',
        'store_id' =&gt; 1,
        'checkout_flow' =&gt; 'boulangerie',      
        'uid' =&gt; $user,
        'billing_profile' =&gt;$profile,
        'field_abonnement' =&gt; $nid,
        'placed' =&gt; time(),
        'field_date_livraison' =&gt;$date_livraison-&gt;format('Y-m-d'),
        'order_items' =&gt;$line_items          
    ]);    

    $order-&gt;save(); 
    $order-&gt;set('order_number', $order-&gt;id());        
    $order-&gt;save();
    $order-&gt;set('state', 'complete');
    $order-&gt;save();       

    //prix custo
    foreach ($order-&gt;getItems() as $ligne_de_commande) {

        $produit = $ligne_de_commande-&gt;getPurchasedEntity();
        //prix
        if ($utilisateur-&gt;hasRole('biocoop')) {
            $role_price = $produit-&gt;get('field_prix_biocoop');
            $role = 'biocoop';
        }

        if ($utilisateur-&gt;hasRole('montagne')) {
            $role_price = $produit-&gt;get('field_prix_montagne');
            $role = 'montagne';          
        }

        if ($utilisateur-&gt;hasRole('vente_directe')) {
            $role_price = $produit-&gt;get('field_prix_vd');
            $role = 'vente_directe';
        }

        $unit_price = new  \Drupal\commerce_price\Price($role_price-&gt;number, 'EUR');

        $ligne_de_commande-&gt;setUnitPrice($unit_price);
        $ligne_de_commande-&gt;save();

    }

    $order-&gt;save();
}
Order refresh is done via a service, this service is called every time an order is saved. Check the module documentation.