POS Cash Drawer Transactions

Aggregate cash drawer transaction information for cash management, reconciliation, and audit purposes.


Overview

The POS Cash Drawer Transaction API provides access to all cash drawer events including opens, closes, deposits, and payouts. This data is essential for cash management, end-of-day reconciliation, and audit trails.

Cash drawer transactions include:

  • Opens - When a drawer is opened (cash sales, manual opens)
  • Closes - When a drawer is closed for counting
  • Deposits - Cash removed from drawer (bank deposits, drops)
  • Payouts - Cash paid out from drawer (expenses, vendor payments)
  • No Sales - Drawer opens without a transaction

API Endpoints

Retrieve Cash Drawer Transactions

Returns cash drawer transaction records for a specific location.

Method: GET

Endpoint: /pos/v2/{locationId}/cash-drawer-transactions

Authentication: Bearer token required

Retrieve cash drawer transactions for a location. Use query parameters to filter by date range, employee, or transaction type.

Path Parameters

NameTypeDescription
locationId *integerThe unique identifier for the location

Query Parameters

NameTypeDescription
pageintegerPage number for pagination (default: 1)
pageSizeintegerNumber of results per page (default: 50, max: 100)
startDatedatetimeFilter transactions on or after this date
endDatedatetimeFilter transactions on or before this date
employeeRefstringFilter by specific employee
transactionTypestringFilter by type: OPEN, CLOSE, DEPOSIT, PAYOUT, NO_SALE

Request

GET
/pos/v2/{locationId}/cash-drawer-transactions
curl -X GET "https://conecto-api.shift4payments.com/pos/v2/12345/cash-drawer-transactions?startDate=2024-01-15T00:00:00Z&endDate=2024-01-15T23:59:59Z" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response

{
  "results": [
    {
      "posRef": "CDT-001",
      "transactionType": "OPEN",
      "amount": 250.00,
      "timestamp": "2024-01-15T08:00:00Z",
      "employeeRef": "EMP-001",
      "employeeName": "Jane Smith",
      "drawerRef": "DRAWER-01",
      "reason": "Start of shift",
      "ticketRef": null,
      "locationId": 12345
    },
    {
      "posRef": "CDT-002",
      "transactionType": "NO_SALE",
      "amount": 0.00,
      "timestamp": "2024-01-15T09:15:00Z",
      "employeeRef": "EMP-001",
      "employeeName": "Jane Smith",
      "drawerRef": "DRAWER-01",
      "reason": "Get change",
      "ticketRef": null,
      "locationId": 12345
    },
    {
      "posRef": "CDT-003",
      "transactionType": "DEPOSIT",
      "amount": -500.00,
      "timestamp": "2024-01-15T14:00:00Z",
      "employeeRef": "EMP-002",
      "employeeName": "John Manager",
      "drawerRef": "DRAWER-01",
      "reason": "Bank deposit",
      "ticketRef": null,
      "locationId": 12345
    },
    {
      "posRef": "CDT-004",
      "transactionType": "PAYOUT",
      "amount": -50.00,
      "timestamp": "2024-01-15T15:30:00Z",
      "employeeRef": "EMP-002",
      "employeeName": "John Manager",
      "drawerRef": "DRAWER-01",
      "reason": "Petty cash - office supplies",
      "ticketRef": null,
      "locationId": 12345
    },
    {
      "posRef": "CDT-005",
      "transactionType": "CLOSE",
      "amount": 1450.00,
      "timestamp": "2024-01-15T22:00:00Z",
      "employeeRef": "EMP-001",
      "employeeName": "Jane Smith",
      "drawerRef": "DRAWER-01",
      "reason": "End of shift",
      "expectedAmount": 1475.00,
      "variance": -25.00,
      "ticketRef": null,
      "locationId": 12345
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 50,
    "totalCount": 45
  }
}

Models

CashDrawerTransaction

Represents a cash drawer event or transaction.

  • Name
    posRef
    Type
    string
    Description

    Unique POS system reference ID for the transaction

  • Name
    transactionType
    Type
    string
    Description

    Type of transaction: OPEN, CLOSE, DEPOSIT, PAYOUT, NO_SALE

  • Name
    amount
    Type
    number
    Description

    Transaction amount. Positive for adds, negative for removes, zero for no-sales

  • Name
    timestamp
    Type
    datetime
    Description

    When the transaction occurred

  • Name
    employeeRef
    Type
    string
    Description

    Reference to the employee who performed the transaction

  • Name
    employeeName
    Type
    string
    Description

    Name of the employee

  • Name
    drawerRef
    Type
    string
    Description

    Reference to the physical drawer

  • Name
    reason
    Type
    string
    Description

    Reason or description for the transaction

  • Name
    ticketRef
    Type
    string
    Description

    Reference to related ticket, if applicable

  • Name
    expectedAmount
    Type
    number
    Description

    Expected amount (for CLOSE transactions)

  • Name
    variance
    Type
    number
    Description

    Difference between expected and actual (for CLOSE transactions)

  • Name
    businessDate
    Type
    date
    Description

    Business day this transaction belongs to

  • Name
    locationId
    Type
    integer
    Description

    Location ID where the transaction occurred

  • Name
    notes
    Type
    string
    Description

    Additional notes about the transaction


Transaction Types

OPEN

Opening a cash drawer to start a shift or add initial cash.

Characteristics:

  • Positive amount (cash added to drawer)
  • Typically done at start of business day or shift
  • May include starting cash bank

Example:

{
  "transactionType": "OPEN",
  "amount": 250.00,
  "reason": "Start of shift"
}

CLOSE

Closing a drawer for counting and reconciliation.

Characteristics:

  • Includes expected vs. actual amounts
  • Shows variance (over/short)
  • Done at end of shift or business day

Example:

{
  "transactionType": "CLOSE",
  "amount": 1450.00,
  "expectedAmount": 1475.00,
  "variance": -25.00,
  "reason": "End of shift"
}

DEPOSIT

Removing cash from drawer for bank deposit or safe drop.

Characteristics:

  • Negative amount (cash removed)
  • Reduces drawer balance
  • Important for cash security

Example:

{
  "transactionType": "DEPOSIT",
  "amount": -500.00,
  "reason": "Bank deposit"
}

PAYOUT

Cash paid out from drawer for expenses or other purposes.

Characteristics:

  • Negative amount (cash removed)
  • Typically requires manager approval
  • Should have detailed reason/receipt

Example:

{
  "transactionType": "PAYOUT",
  "amount": -50.00,
  "reason": "Petty cash - office supplies"
}

NO_SALE

Opening drawer without a transaction.

Characteristics:

  • Zero amount
  • Common for making change
  • Creates audit trail of drawer opens

Example:

{
  "transactionType": "NO_SALE",
  "amount": 0.00,
  "reason": "Get change"
}

Use Cases

Cash Reconciliation

Reconcile cash drawers at end of day:

  • Starting Balance - From OPEN transactions
  • Cash Sales - From ticket payments (not in this endpoint)
  • Deposits - Subtract DEPOSIT transactions
  • Payouts - Subtract PAYOUT transactions
  • Expected Balance - Calculate expected ending balance
  • Actual Balance - From CLOSE transaction
  • Variance - Difference between expected and actual

Cash Security

Monitor cash handling for security:

  • Drawer Opens - Track NO_SALE frequency
  • Large Deposits - Monitor deposit patterns
  • Variance Tracking - Flag large over/short amounts
  • Employee Patterns - Analyze cash handling by employee

Audit Trail

Maintain audit trail for compliance:

  • All Transactions - Complete record of drawer activity
  • Employee Actions - Who performed each transaction
  • Reasons - Documentation for each event
  • Timestamps - Exact time of each transaction

Cash Flow Management

Optimize cash handling:

  • Deposit Frequency - Analyze when deposits are needed
  • Starting Banks - Determine optimal starting cash
  • Change Needs - Monitor change requirements
  • Labor Efficiency - Time spent on cash handling

Best Practices

  • Name
    Reconciliation
    Description

    Reconcile cash drawers daily using OPEN, CLOSE, DEPOSIT, and PAYOUT transactions. Investigate any significant variances.

  • Name
    Variance Thresholds
    Description

    Set acceptable variance thresholds. Small variances (under $5) are normal, but larger variances require investigation.

  • Name
    Security Monitoring
    Description

    Monitor NO_SALE transactions for potential security issues. Excessive no-sales may indicate cash handling problems.

  • Name
    Documentation
    Description

    Ensure all payouts have detailed reasons. This is important for accounting and audit purposes.

  • Name
    Regular Deposits
    Description

    Monitor cash levels and ensure regular deposits to minimize cash on hand and reduce theft risk.

  • Name
    Business Date
    Description

    Use businessDate for reporting rather than transaction timestamp, especially for transactions near midnight.

Was this page helpful?