code: protected function updateInvoiceTotal(SaleInterface $sale)
      {
          if (!$sale instanceof InvoiceSubjectInterface) {
              return false;
          }
  
          $changed = false;
  
          $invoice = $this->invoiceCalculator->calculateInvoiceTotal($sale);
          if (0 != Money::compare($invoice, $sale->getInvoiceTotal(), $sale->getCurrency()->getCode())) {
              $sale->setInvoiceTotal($invoice);
  
              $changed = true;
          }
  
          $credit = $this->invoiceCalculator->calculateCreditTotal($sale);
          if (0 != Money::compare($credit, $sale->getCreditTotal(), $sale->getCurrency()->getCode())) {
              $sale->setCreditTotal($credit);
  
              $changed = true;
          }
  
          return $changed;
      }
docs: Updates the sale invoice total.
  
  @param SaleInterface $sale
  
  @return bool Whether the sale has been changed or not.