<?php

print "\n\n";
ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . '/Users/kpalmer/Projects/QuickBooks');
require_once 'QuickBooks.php';
$SalesReceipt = new QuickBooks_Object_SalesReceipt();
$SalesReceiptShippingLine = new QuickBooks_Object_SalesReceipt_ShippingLine();
$SalesReceiptShippingLine->setAmount(25);
$SalesReceipt->addShippingLine($SalesReceiptShippingLine);
$SalesReceiptSalesTaxLine = new QuickBooks_Object_SalesReceipt_SalesTaxLine();
$SalesReceiptSalesTaxLine->setAmount(25);
$SalesReceipt->addSalesTaxLine($SalesReceiptSalesTaxLine);
$SalesReceiptDiscountLine = new QuickBooks_Object_SalesReceipt_DiscountLine();
$SalesReceiptDiscountLine->setAmount(25);
$SalesReceipt->addDiscountLine($SalesReceiptDiscountLine);
$Line = new QuickBooks_Object_SalesReceipt_SalesReceiptLine();
$Line->setAmount(25);
$Line->setQuantity(5);
$Line->setItemName('Keiths Item');
$SalesReceipt->addSalesReceiptLine($Line);
print_r($SalesReceipt);
print $SalesReceipt->asQBXML(QUICKBOOKS_ADD_SALESRECEIPT);
exit;
$JournalEntry = new QuickBooks_Object_JournalEntry();
$JournalEntry->setTransactionDate('2009-02-02');
$DebitLine = new QuickBooks_Object_JournalEntry_JournalDebitLine();
$DebitLine->setAmount(45.0);
$DebitLine->setAccountName('Test');
$JournalEntry->addDebitLine($DebitLine);
$CreditLine1 = new QuickBooks_Object_JournalEntry_JournalCreditLine();
$CreditLine1->setAmount(25.0);
Ejemplo n.º 2
0
 /**
  * Create a QuickBooks shipping (actually an item) object, from an array
  * 
  * This method can return items of the following type:
  * 	- QuickBooks_Object_SalesReceipt_SalesReceiptLine
  * 	- QuickBooks_Object_Invoice_InvoiceLine
  * 
  * @param array $arr
  * @return QuickBooks_Object
  */
 protected function _shippingFromArray($arr)
 {
     if (count($arr) == 1 and strlen(current($arr)) == 0) {
         return null;
     }
     switch ($this->_config['push_orders_as']) {
         case QUICKBOOKS_OBJECT_SALESRECEIPT:
             $SalesReceiptLine = new QuickBooks_Object_SalesReceipt_SalesReceiptLine();
             if (!empty($arr['Rate'])) {
                 $SalesReceiptLine->setRate($arr['Rate']);
                 $SalesReceiptLine->setQuantity(1);
             } else {
                 if (!empty($arr['Amount'])) {
                     $SalesReceiptLine->setAmount((double) $arr['Amount']);
                 } else {
                     $SalesReceiptLine->setAmount(0);
                 }
             }
             $map = array('Desc' => array('setDescription', 'Desc'), 'Descrip' => array('setDescription', 'Desc'), 'Description' => array('setDescription', 'Desc'), 'UnitOfMeasure' => array('setUnitOfMeasure', 'UnitOfMeasure'), 'PriceLevelName' => array('setPriceLevelName', 'PriceLevelRef FullName'), 'PriceLevelListID' => array('setPriceLevelListID', 'PriceLevelRef ListID'), 'PriceLevelID' => array('setPriceLevelApplicationID', 'PriceLevelRef ' . QUICKBOOKS_API_APPLICATIONID, 'setPriceLevelID'), 'ClassName' => array('setClassName', 'ClassRef FullName'), 'ClassListID' => array('setClassListID', 'ClassRef ListID'), 'ClassID' => array('setClassApplicationID', 'ClassRef ' . QUICKBOOKS_API_APPLICATIONID, 'setClassListID'), 'ServiceDate' => array('setServiceDate', 'ServiceDate'), 'Other1' => array('setOther1', 'Other1'), 'Other2' => array('setOther2', 'Other2'), 'SalesTaxCodeName' => array('setSalesTaxCodeName', 'SalesTaxCodeRef FullName'), 'SalesTaxCodeListID' => array('setSalesTaxCodeListID', 'SalesTaxCodeRef ListID'), 'SalesTaxCodeID' => array('setSalesTaxCodeApplicationID', 'SalesTaxCodeRef ' . QUICKBOOKS_API_APPLICATIONID, 'setSalesTaxCodeListID'));
             $SalesReceiptLine = $this->_applyBaseMap($arr, $map, $SalesReceiptLine, 'SalesReceipt SalesReceiptLine');
             $SalesReceiptLine->setItemApplicationID(QUICKBOOKS_INTEGRATOR_SHIPPING_ID);
             return $SalesReceiptLine;
             break;
         case QUICKBOOKS_OBJECT_SALESORDER:
             break;
         case QUICKBOOKS_OBJECT_INVOICE:
         default:
             $InvoiceLine = new QuickBooks_Object_Invoice_InvoiceLine();
             if (!empty($arr['Rate'])) {
                 $InvoiceLine->setRate($arr['Rate']);
                 $InvoiceLine->setQuantity(1);
             } else {
                 if (!empty($arr['Amount'])) {
                     $InvoiceLine->setAmount((double) $arr['Amount']);
                 } else {
                     $InvoiceLine->setAmount(0);
                 }
             }
             $map = array('Desc' => array('setDescription', 'Invoice InvoiceLine Desc'), 'ClassID' => array('setClassApplicationID', 'ClassRef ' . QUICKBOOKS_API_APPLICATIONID, 'setClassListID'));
             $InvoiceLine = $this->_applyBaseMap($arr, $map, $InvoiceLine, 'Invoice InvoiceLine');
             $InvoiceLine->setItemApplicationID(QUICKBOOKS_INTEGRATOR_SHIPPING_ID);
             return $InvoiceLine;
     }
 }