<?php require '../../AvaTax4PHP/AvaTax.php'; // include in all Avalara Scripts require '../Credentials.php'; // where service URL, account, license key are set $STDIN = fopen('php://stdin', 'r'); $client = new TaxServiceSoap('Development'); $request = new ReconcileTaxHistoryRequest(); echo "Enter Start Date (yyyy-mm-dd):"; $input = rtrim(fgets($STDIN)); $request->setStartDate($input); echo "Enter End Date (yyyy-mm-dd):"; $input = rtrim(fgets($STDIN)); $request->setEndDate($input); $request->setCompanyCode('<Your Company Code Here>'); // Dashboard Company Code $request->setDocStatus(DocStatus::$Committed); $request->setLastDocCode("0"); $request->setPageSize(1000); $request->setDocType(DocumentType::$SalesInvoice); try { $result = $client->reconcileTaxHistory($request); echo 'ReconcileTaxHistory ResultCode is: ' . $result->getResultCode() . "\n"; if ($result->getResultCode() != SeverityLevel::$Success) { foreach ($result->getMessages() as $msg) { echo $msg->getName() . ": " . $msg->getSummary() . "\n"; } } else { echo "Committed Documents Dated Between " . $request->getStartDate() . " and " . $request->getEndDate() . ":\n"; foreach ($result->getGetTaxResults() as $getRes) {
function testReconcileTaxHistory() { global $client; $dateTime = new DateTime(); $docCode = "PHPReconcile" . date_format($dateTime, "dmyGis"); $getTaxRequest = $this->CreateTaxRequest($docCode); $getTaxRequest->setCommit(true); $getTaxResult = $client->getTax($getTaxRequest); $this->assertEqual(SeverityLevel::$Success, $getTaxResult->getResultCode()); $this->assertEqual(DocStatus::$Committed, $getTaxResult->getDocStatus()); $reconcileTaxHistoryRequest = new ReconcileTaxHistoryRequest(); $reconcileTaxHistoryRequest->setCompanyCode("DEFAULT"); //request.setReconciled(false); $reconcileTaxHistoryRequest->setStartDate(date_format($dateTime, "Y-m-d")); $reconcileTaxHistoryRequest->setEndDate(date_format($dateTime, "Y-m-d")); $reconcileTaxHistoryRequest->setDocStatus(DocStatus::$Committed); $reconcileTaxHistoryRequest->setLastDocId("0"); $reconcileTaxHistoryRequest->setLastDocCode("0"); $reconcileTaxHistoryRequest->setPageSize(1000); $reconcileTaxHistoryRequest->setDocType(DocumentType::$SalesInvoice); //Calling reconHistory Method $reconcileTaxHistoryResult = $client->reconcileTaxHistory($reconcileTaxHistoryRequest); $this->assertEqual(SeverityLevel::$Success, $reconcileTaxHistoryResult->getResultCode()); $taxResults = $reconcileTaxHistoryResult->getGetTaxResults(); $this->assertTrue(count($taxResults) > 0, "Expected > 0 reconcile records"); $this->assertTrue($reconcileTaxHistoryResult->getRecordCount() >= count($taxResults), "RecordCount has to be equal to or more than number of records fetched"); $found = false; /*do { foreach ($taxResults as $taxResult) { $this->assertEqual(DocStatus::$Committed, $taxResult->getDocStatus()); if (strcmp($taxResult->getDocCode(),$getTaxRequest->getDocCode()) == 0) { $found = true; } } $reconcileTaxHistoryRequest->setLastDocCode($reconcileTaxHistoryResult->getLastDocCode()); $reconcileTaxHistoryResult = $client->reconcileTaxHistory($reconcileTaxHistoryRequest); $taxResults = $reconcileTaxHistoryResult->getGetTaxResults(); } while ( count($taxResults) > 0);*/ //$this->assertTrue($found,"ReconcileCommittedTest doc not found"); //Cancel Tax $cancelRequest = new CancelTaxRequest(); $cancelRequest->setCompanyCode($getTaxRequest->getCompanyCode()); $cancelRequest->setDocCode($getTaxRequest->getDocCode()); $cancelRequest->setDocType($getTaxRequest->getDocType()); $cancelRequest->setCancelCode(CancelCode::$DocDeleted); $cancelResult = $client->cancelTax($cancelRequest); $this->assertEqual(SeverityLevel::$Success, $cancelResult->getResultCode()); }