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(); }
// 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::$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
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; }