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); $CreditLine1->setAccountName('Services');
/** * 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; } }