/** * Adds additional transaction based data * * @param OnePica_AvaTax_Model_Sales_Quote_Address|Mage_Sales_Model_Order $object * @return $this */ protected function _addGeneralInfo($object) { $storeId = $this->_getStoreIdByObject($object); $this->_setCompanyCode($storeId); $this->_request->setBusinessIdentificationNo($this->_getVatId($object)); $this->_request->setDetailLevel(DetailLevel::$Document); $this->_request->setDocDate($this->_getDateModel()->date('Y-m-d')); $this->_request->setExemptionNo(''); $this->_request->setDiscount(0.0); //cannot be used in Magento $this->_request->setSalespersonCode(Mage::helper('avatax')->getSalesPersonCode($storeId)); $this->_request->setLocationCode(Mage::helper('avatax')->getLocationCode($storeId)); $this->_request->setCountry(Mage::getStoreConfig('shipping/origin/country_id', $storeId)); $this->_request->setCurrencyCode(Mage::app()->getStore($storeId)->getBaseCurrencyCode()); $this->_addCustomer($object); if ($object instanceof Mage_Sales_Model_Order && $object->getIncrementId()) { $this->_request->setReferenceCode('Magento Order #' . $object->getIncrementId()); } return $this; }
function CalcTax($taxSvcSoapClient, $companyCode) { $request = new GetTaxRequest(); $origin = new Address(); $destination = new Address(); $line1 = new Line(); $origin->setLine1("435 Ericksen Ave NE"); $origin->setLine2("Suite 200"); $origin->setCity("Bainbridge Island"); $origin->setRegion("WA"); $origin->setPostalCode("98110-1896"); $destination->setLine1("900 Winslow Way"); $destination->setLine2("Suite 200"); $destination->setCity("Bainbridge Island"); $destination->setRegion("WA"); $destination->setPostalCode("98110"); $request->setOriginAddress($origin); //Address $request->setDestinationAddress($destination); //Address $request->setCompanyCode($companyCode); // Your Company Code From the Dashboard $request->setDocType(DocumentType::$SalesInvoice); // Only supported types are SalesInvoice or SalesOrder $dateTime = new DateTime(); $docCode = "PHPSample" . date_format($dateTime, "dmyGis"); $request->setDocCode($docCode); // invoice number $request->setDocDate(date_format($dateTime, "Y-m-d")); //date $request->setSalespersonCode(""); // string Optional $request->setCustomerCode("Cust123"); //string Required $request->setCustomerUsageType(""); //string Entity Usage $request->setDiscount(0.0); //decimal $request->setPurchaseOrderNo(""); //string Optional $request->setExemptionNo(""); //string if not using ECMS which keys on customer code $request->setDetailLevel(DetailLevel::$Document); $request->setCommit("true"); // commit upon tax calc $request->setReferenceCode(""); //string Optional $request->setLocationCode(""); //string Optional - aka outlet id for tax forms $line1->setNo("1"); //string // line Number of invoice $line1->setItemCode("SKU123"); //string $line1->setDescription("Invoice Calculated From PHP SDK"); //string $line1->setTaxCode(""); //string $line1->setQty(1.0); //decimal $line1->setAmount(1000.0); //decimal // TotalAmmount $line1->setDiscounted(false); //boolean $line1->setRevAcct(""); //string $line1->setRef1(""); //string $line1->setRef2(""); //string $line1->setExemptionNo(""); //string $line1->setCustomerUsageType(""); //string $request->setLines(array($line1)); //array try { $getTaxResult = $taxSvcSoapClient->getTax($request); echo 'GetTax Result: ' . $getTaxResult->getResultCode() . "\n"; if ($getTaxResult->getResultCode() == SeverityLevel::$Success) { echo "DocCode: " . $request->getDocCode() . "\n"; echo "TotalAmount: " . $getTaxResult->getTotalAmount() . "\n"; echo "TotalTax: " . $getTaxResult->getTotalTax() . "\n"; } else { foreach ($getTaxResult->getMessages() as $msg) { echo $msg->getName() . ": " . $msg->getSummary() . "\n"; } } } catch (SoapFault $exception) { $msg = "Exception: "; if ($exception) { $msg .= $exception->faultstring; } echo $msg . "\n"; echo $taxSvcSoapClient->__getLastRequest() . "\n"; echo $taxSvcSoapClient->__getLastResponse() . "\n"; } return $request->getDocCode(); }
private function CreateTaxRequest($docCode) { $request = new GetTaxRequest(); //Set origin Address $origin = new Address(); $origin->setLine1("Avalara"); $origin->setLine2("900 winslow way"); $origin->setLine3("Suite 100"); $origin->setCity("Bainbridge Island"); $origin->setRegion("WA"); $origin->setPostalCode("98110-1896"); $origin->setCountry("USA"); $request->setOriginAddress($origin); //Set destination address $destination = new Address(); $destination->setLine1("3130 Elliott"); $destination->setCity("Seattle"); $destination->setRegion("WA"); $destination->setPostalCode("98121"); $destination->setCountry("USA"); $request->setDestinationAddress($destination); //Set line $line1 = new Line(); $line1->setNo("1"); //string // line Number of invoice $line1->setItemCode("SKU123"); //string $line1->setDescription("Invoice Calculated From PHP SDK"); //string $line1->setTaxCode(""); //string $line1->setQty(1.0); //decimal $line1->setAmount(1000.0); //decimal // TotalAmmount $line1->setDiscounted(false); //boolean $line1->setRevAcct(""); //string $line1->setRef1(""); //string $line1->setRef2(""); //string $line1->setExemptionNo(""); //string $line1->setCustomerUsageType(""); //string $line2 = new Line(); $line2->setNo("2"); //string // line Number of invoice $line2->setItemCode("SKU124"); //string $line2->setDescription("Invoice Calculated From PHP SDK"); //string $line2->setTaxCode(""); //string $line2->setQty(1.0); //decimal $line2->setAmount(10.0); //decimal // TotalAmmount $line2->setDiscounted(false); //boolean $line2->setRevAcct(""); //string $line2->setRef1(""); //string $line2->setRef2(""); //string $line2->setExemptionNo(""); //string $line2->setCustomerUsageType(""); //string $request->setLines(array($line1, $line2)); $request->setCompanyCode('DEFAULT'); // Your Company Code From the Dashboard $request->setDocType(DocumentType::$SalesInvoice); // Only supported types are SalesInvoice or SalesOrder //$dateTime=new DateTime(); //$docCode= "PHP".date_format($dateTime,"dmyGis"); $request->setDocCode($docCode); // invoice number $dateTime = new DateTime(); $docDate = date_format($dateTime, "Y-m-d"); //$request->setDocDate("2008-01-24"); //date $request->setDocDate($docDate); //date $request->setSalespersonCode(""); // string Optional $request->setCustomerCode("Cust123"); //string Required $request->setCustomerUsageType(""); //string Entity Usage $request->setDiscount(0.0); //decimal $request->setPurchaseOrderNo(""); //string Optional $request->setExemptionNo(""); //string if not using ECMS which keys on customer code $request->setDetailLevel(DetailLevel::$Diagnostic); //Summary or Document or Line or Tax or Diagnostic $request->setReferenceCode("Reference"); //string Optional $request->setLocationCode(""); //string Optional - aka outlet id for tax forms return $request; }