Create, update, and query QuickBooks POS Inventory Cost Adjustments.
Table Specific Information
QuickBooks Point of Sale allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.
|Single Filters||Single filters make direct comparisons by using the = comparison.|
|Range Filters||Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.
To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.
To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.
SELECT * FROM InventoryCostAdjustments WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'
To create a new InventoryCostAdjustment record, the Reason field is required. Items are specified via an XML aggregate within the ItemsAggregate column. The columns that may be used in these aggregates are defined in the InventoryCostAdjustmentItems table as # columns. Note that ItemListId and ItemNewCost are required when adding an item.
The following example will insert a new InventoryCostAdjustment with two items:
INSERT INTO InventoryCostAdjustments (Reason, ItemsAggregate) VALUES ('Discontinued', '<InventoryCostAdjustmentItems> <Row><ItemListId>-1000000000000000001</ItemListId><ItemNewCost>4.99</ItemNewCost></Row> <Row><ItemListId>-1000000000000000002</ItemListId><ItemNewCost>11.97</ItemNewCost></Row> </InventoryCostAdjustmentItems>')
Any field that is not read-only can be updated.
When updating an InventoryCostAdjustment record, item costs can be adjusted via the ItemsAggregate column, just as in an insert. In such cases, the ItemListId column is required to identify the item being adjusted, and ItemNewCost is required to specify the new cost.
Note items cannot be removed from an InventoryCostAdjustment record, but rather the cost can only be adjusted, so a record of adjustments for an item is always kept.
UPDATE InventoryCostAdjustments SET ItemsAggregate='<InventoryCostAdjustmentItems> <Row><ItemListId>-1000000000000000003</ItemListId><ItemNewCost>19.99</ItemNewCost></Row> </InventoryCostAdjustmentItems>' WHERE TxnId='-1234567890123456789'
The unique identifier, generated by QuickBooks POS.
The employee making the adjustment.
Contains a description of the transaction.
Difference in cost for the items. The value displayed is equal to NewCost minus OldCost.
The current status of the cost memo created as a result of inserting the transaction. Possible values are Reversed (this memo is the corrected version of an earlier memo), Reversing (this memo caused an older memo to be reversed), and Regular (the document has been corrected).
The adjustment number for an adjustment is automatically assigned by QBPOS when an adjustment is successfully added to QBPOS.
The action or functionality that created the adjustment. Possible values are Manual (manually created memo), Physical (physical inventory), and Assembly (assembly item).
The number of line items in the insert that added the transaction.
An aggregate of the line item data, which can be used for adding a transaction and its line items.
The cost of the items after the cost adjustment.
The cost of the items before the cost adjustment.
The status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.
Enter the reason for the adjustment or select from the following predefined reasons: Cycl Cnt (cycle count), Vend Chg (vendor change), Prc Line (price line), Seas End (end of season), Annual, Shrink, Stolen, Damaged, and New Item.
In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.
This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.
The date of the transaction. In some cases, if this value is not specified QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.
The current state of the transaction. Possible values are Normal (the transaction is complete) and Held (the transaction has not yet been finalized).
Workstation from which the transaction was made.
Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).
Custom fields returned from QuickBooks POS and formatted into XML.
When the transaction was created.
When the transaction was last modified.