コード例 #1
0
ファイル: Abstract.php プロジェクト: virtual97/avatax
 /**
  * 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;
 }
コード例 #2
0
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();
}
コード例 #3
0
//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::$Tax);
//Summary or Document or Line or Tax or Diagnostic
$request->setLocationCode("");
//string Optional - aka outlet id for tax forms
//Add 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
コード例 #4
0
 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;
 }