Example #1
0
 /**
  * Adds shipping cost to request as item
  *
  * @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object
  * @param bool $credit
  * @return int|bool
  */
 protected function _addShipping($object, $credit = false)
 {
     if ($object->getBaseShippingAmount() == 0) {
         return false;
     }
     $order = $object->getOrder();
     $lineNumber = $this->_getNewLineCode();
     $storeId = $object->getStore()->getId();
     $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId);
     $line = $this->_getNewDocumentRequestLineObject();
     $amount = $object->getBaseShippingAmount();
     if ($this->_getTaxDataHelper()->priceIncludesTax($storeId)) {
         $amount = (double) $object->getBaseShippingInclTax();
         $line->setTaxIncluded('true');
     }
     if ($this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId)) {
         $amount -= (double) $order->getBaseShippingDiscountAmount();
     }
     //@startSkipCommitHooks
     $amount = $credit ? -1 * $amount : $amount;
     //@finishSkipCommitHooks
     $line->setLineCode($lineNumber);
     $shippingSku = $this->_getConfigHelper()->getShippingSku($storeId);
     $line->setItemCode($shippingSku ? $shippingSku : self::DEFAULT_SHIPPING_ITEMS_SKU);
     $line->setItemDescription(self::DEFAULT_SHIPPING_ITEMS_DESCRIPTION);
     $line->setAvalaraGoodsAndServicesType($taxClass);
     $line->setNumberOfItems(1);
     $line->setlineAmount($amount);
     $discounted = (double) $order->getBaseShippingDiscountAmount() && $this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId) ? 'true' : 'false';
     $line->setDiscounted($discounted);
     $this->_lineToItemId[$lineNumber] = $shippingSku;
     $this->_lines[$lineNumber] = $line;
     $this->_setLinesToRequest();
     return $lineNumber;
 }
 /**
  * Cancel specified invoice: update self totals from it
  *
  * @param Mage_Sales_Model_Order_Invoice $invoice
  * @return Mage_Sales_Model_Order_Payment
  */
 public function cancelInvoice($invoice)
 {
     $this->_updateTotals(array('amount_paid' => -1 * $invoice->getGrandTotal(), 'base_amount_paid' => -1 * $invoice->getBaseGrandTotal(), 'shipping_captured' => -1 * $invoice->getShippingAmount(), 'base_shipping_captured' => -1 * $invoice->getBaseShippingAmount()));
     Mage::dispatchEvent('sales_order_payment_cancel_invoice', array('payment' => $this, 'invoice' => $invoice));
     return $this;
 }
Example #3
0
 /**
  * Adds shipping cost to request as item
  *
  * @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object
  * @param bool $credit
  * @return int|bool
  */
 protected function _addShipping($object, $credit = false)
 {
     if ($object->getBaseShippingAmount() == 0) {
         return false;
     }
     $order = $object->getOrder();
     $lineNumber = count($this->_lines);
     $storeId = $object->getStore()->getId();
     $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId);
     $line = new Line();
     $amount = (double) $object->getBaseShippingAmount();
     if ($this->_getTaxDataHelper()->priceIncludesTax($storeId)) {
         $amount = (double) $object->getBaseShippingInclTax();
         $line->setTaxIncluded(true);
     }
     if ($this->_getTaxDataHelper()->applyTaxAfterDiscount()) {
         $amount -= (double) $order->getBaseShippingDiscountAmount();
     }
     if ($credit) {
         //@startSkipCommitHooks
         $amount *= -1;
         //@finishSkipCommitHooks
     }
     $line->setNo($lineNumber);
     $line->setItemCode($this->_getConfigHelper()->getShippingSku($storeId));
     $line->setDescription('Shipping costs');
     $line->setTaxCode($taxClass);
     $line->setQty(1);
     $line->setAmount($amount);
     $line->setDiscounted((double) $order->getBaseShippingDiscountAmount() && $this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId));
     $this->_lineToItemId[$lineNumber] = 'shipping';
     $this->_lines[$lineNumber] = $line;
     $this->_request->setLines($this->_lines);
     return $lineNumber;
 }
Example #4
0
 /**
  * Adds shipping cost to request as item
  *
  * @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object
  * @param bool $credit
  * @return int|bool
  */
 protected function _addShipping($object, $credit = false)
 {
     if ($object->getBaseShippingAmount() == 0) {
         return false;
     }
     $lineNumber = count($this->_lines);
     $storeId = $object->getStore()->getId();
     $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId);
     $amount = $object->getBaseShippingAmount();
     if ($credit) {
         //@startSkipCommitHooks
         $amount *= -1;
         //@finishSkipCommitHooks
     }
     $line = new Line();
     $line->setNo($lineNumber);
     $line->setItemCode(Mage::helper('avatax')->getShippingSku($storeId));
     $line->setDescription('Shipping costs');
     $line->setTaxCode($taxClass);
     $line->setQty(1);
     $line->setAmount($amount);
     $line->setDiscounted(false);
     $this->_lineToItemId[$lineNumber] = 'shipping';
     $this->_lines[$lineNumber] = $line;
     $this->_request->setLines($this->_lines);
     return $lineNumber;
 }