TCRDD

TechStud’s Costco Receipt Downloader (TCRD)

Version License

TCRD is a client-side JavaScript utility designed to extract and archive your Costco in-warehouse receipts, saving the raw data in a standardized JSON format.

Running directly in your web browser, it will fetch up to 3 years of data-rich receipt history for the logged in Costco member and then intelligently export the history to a new JSON format file or merge any new receipt data with your existing archives (if you select an existing Costco Receipt file), ensuring a clean, duplicate-free record.


🌟 Features


🚀 How to Use (Step-by-Step)

Prerequisites

Instructions

1. Log In to your Costco Account

2. Navigate to Orders & Returns -> In-Warehouse

3. Open the Developer Console

4. Run the Script

5. Choose Your Action


📂 File Output & Naming

The script automatically generates filenames based on the data found:

Note on Saving:


📸 Screenshots

image

  1. Click ‘Orders & Returns’ and then click ‘Warehouse
  2. Open Developer Tools (F12 or Cmd/Ctrl + Shift + I) and click the ‘Console’ tab

image

  1. Paste in the entire TCRD script into the Browser Console and press Enter (or press Run)
  2. Click one of the two on-screen buttons (lower-right corner of the webpage):

    • ↳ If this is your first run, click the Start Fresh (No File) button.
    • ↳ If you’re re-running this script, click the Load Existing Receipt File button.
      • ↳ From here you can select your existing Costco Receipt file (eg: Costco_In-Warehouse_Receipts_123456789.json)

image

 * Console logging showing the output after clicking the **`Start Fresh (No File)`** button press

image


⚠️ Privacy & Liability Disclaimer


🤓 For Advanced Users

The Merging Logic

The script uses a composite key of MembershipNumber + TransactionBarcode to identify unique receipts.

  1. Ingest: Loads the JSON provided by the user.
  2. Fetch: Scrapes the API for the last 3 years of data.
  3. Merge: Combines arrays.
  4. Dedupe: Iterates through the merged list. If a conflict is found, it prioritizes the existing local data (assuming you may have manually edited it), though usually, the data is identical.

JSON Structure

The output is an array of objects. Below is an example of a single Sales Receipt (Refund Receipt is the same):

[  
  {
    "documentType": "WarehouseReceiptDetail",
    "receiptType": "In-Warehouse",
    "membershipNumber": "123456789012",
    "transactionType": "Sales",
    "transactionDateTime": "2023-10-25T14:30:00",
    "transactionDate": "2023-10-25",
    "warehouseShortName": "SEATTLE",
    "warehouseNumber": 1,
    "warehouseName": "SEATTLE",
    "warehouseAddress1": "4401 4TH AVE S",
    "warehouseAddress2": null,
    "warehouseCity": "SEATTLE",
    "warehouseState": "WA",
    "warehouseCountry": "US",
    "warehousePostalCode": "98134-2311",
    "companyNumber": 4,
    "transactionBarcode": "21000100602972310251430",
    "totalItemCount": 10,
    "instantSavings": 21,
    "subTotal": 101.66,
    "taxes": 3.77,
    "total": 105.43,
    "registerNumber": 6,
    "transactionNumber": 297,
    "operatorNumber": 601,
    "itemArray": [
      {
        "itemNumber": "17120",
        "itemUPCNumber": 0,
        "itemDescription01": "GYRO KIT",
        "itemDescription02": "GREEK STYLE",
        "frenchItemDescription1": "PITA GYRO",
        "frenchItemDescription2": "À LA GRECQUE",
        "itemIdentifier": null,
        "itemDepartmentNumber": 63,
        "transDepartmentNumber": 63,
        "itemUnitPriceAmount": 13.49,
        "unit": 1,
        "amount": 21.75,
        "taxFlag": "N",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1715281",
        "itemUPCNumber": 0,
        "itemDescription01": "TPD/17120",
        "itemDescription02": null,
        "frenchItemDescription1": "PITA GYRO",
        "frenchItemDescription2": null,
        "itemIdentifier": null,
        "itemDepartmentNumber": 63,
        "transDepartmentNumber": 63,
        "itemUnitPriceAmount": 0,
        "unit": -1,
        "amount": -3,
        "taxFlag": null,
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": null,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1661969",
        "itemUPCNumber": 0,
        "itemDescription01": "BULGOGI BOWL",
        "itemDescription02": null,
        "frenchItemDescription1": "BOEUF BULGOGI 6X229G P99",
        "frenchItemDescription2": null,
        "itemIdentifier": null,
        "itemDepartmentNumber": 13,
        "transDepartmentNumber": 13,
        "itemUnitPriceAmount": 16.99,
        "unit": 1,
        "amount": 16.99,
        "taxFlag": "N",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1715228",
        "itemUPCNumber": 0,
        "itemDescription01": "TPD/1661969",
        "itemDescription02": null,
        "frenchItemDescription1": "BOEUF BULGOGI 6X229G P99",
        "frenchItemDescription2": null,
        "itemIdentifier": null,
        "itemDepartmentNumber": 13,
        "transDepartmentNumber": 13,
        "itemUnitPriceAmount": 0,
        "unit": -1,
        "amount": -4,
        "taxFlag": null,
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": null,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1363537",
        "itemUPCNumber": 0,
        "itemDescription01": "CREPES",
        "itemDescription02": "20 COUNT P400 ECSL45",
        "frenchItemDescription1": "LA BOULANGERE CREPES 640G",
        "frenchItemDescription2": "COMPTE DE 20 P400 ECSL45",
        "itemIdentifier": null,
        "itemDepartmentNumber": 13,
        "transDepartmentNumber": 13,
        "itemUnitPriceAmount": 11.99,
        "unit": 1,
        "amount": 11.99,
        "taxFlag": "N",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1716231",
        "itemUPCNumber": 0,
        "itemDescription01": "TPD/1363537",
        "itemDescription02": null,
        "frenchItemDescription1": "LA BOULANGERE CREPES 640G",
        "frenchItemDescription2": null,
        "itemIdentifier": null,
        "itemDepartmentNumber": 13,
        "transDepartmentNumber": 13,
        "itemUnitPriceAmount": 0,
        "unit": -1,
        "amount": -3,
        "taxFlag": null,
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": null,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1667742",
        "itemUPCNumber": 0,
        "itemDescription01": "RUFFLES KFC",
        "itemDescription02": "525G P126",
        "frenchItemDescription1": "RUFFLES CHIPS SAVEUR PFK",
        "frenchItemDescription2": "525G P126",
        "itemIdentifier": null,
        "itemDepartmentNumber": 12,
        "transDepartmentNumber": 12,
        "itemUnitPriceAmount": 5.99,
        "unit": 1,
        "amount": 5.99,
        "taxFlag": "Y",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1696237",
        "itemUPCNumber": 0,
        "itemDescription01": "RUFFLES REG",
        "itemDescription02": "612 G     P96",
        "frenchItemDescription1": "RUFFLES NATURE",
        "frenchItemDescription2": "612 G     P96",
        "itemIdentifier": null,
        "itemDepartmentNumber": 12,
        "transDepartmentNumber": 12,
        "itemUnitPriceAmount": 5.99,
        "unit": 1,
        "amount": 5.99,
        "taxFlag": "Y",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1448167",
        "itemUPCNumber": 0,
        "itemDescription01": "PUFF PASTRY",
        "itemDescription02": "6T3H 216P   792G",
        "frenchItemDescription1": "BOUCHES FEUILLETTEES",
        "frenchItemDescription2": "6T3H 216P   792G",
        "itemIdentifier": null,
        "itemDepartmentNumber": 18,
        "transDepartmentNumber": 18,
        "itemUnitPriceAmount": 11.99,
        "unit": 1,
        "amount": 11.99,
        "taxFlag": "N",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1714123",
        "itemUPCNumber": 0,
        "itemDescription01": "TPD/1448167",
        "itemDescription02": null,
        "frenchItemDescription1": "BOUCHES FEUILLETTEES",
        "frenchItemDescription2": null,
        "itemIdentifier": null,
        "itemDepartmentNumber": 18,
        "transDepartmentNumber": 18,
        "itemUnitPriceAmount": 0,
        "unit": -1,
        "amount": -3,
        "taxFlag": null,
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": null,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1076115",
        "itemUPCNumber": 0,
        "itemDescription01": "MINI BELLAS",
        "itemDescription02": "680G / 1.5 LB",
        "frenchItemDescription1": "CHAMPIGNONS MINI BELLA",
        "frenchItemDescription2": "PRODUIT DU CANADA",
        "itemIdentifier": null,
        "itemDepartmentNumber": 65,
        "transDepartmentNumber": 65,
        "itemUnitPriceAmount": 5.99,
        "unit": 1,
        "amount": 5.99,
        "taxFlag": "N",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "380444",
        "itemUPCNumber": 0,
        "itemDescription01": "SWIFFER DRY",
        "itemDescription02": "T56H3  80207786      P168",
        "frenchItemDescription1": "SWIFFER LINGES JETABLES",
        "frenchItemDescription2": "80 PK                P168",
        "itemIdentifier": null,
        "itemDepartmentNumber": 14,
        "transDepartmentNumber": 14,
        "itemUnitPriceAmount": 21.99,
        "unit": 1,
        "amount": 21.99,
        "taxFlag": "Y",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1713164",
        "itemUPCNumber": 0,
        "itemDescription01": "TPD/SWIFFER",
        "itemDescription02": null,
        "frenchItemDescription1": "SWIFFER LINGES JETABLES",
        "frenchItemDescription2": null,
        "itemIdentifier": null,
        "itemDepartmentNumber": 14,
        "transDepartmentNumber": 14,
        "itemUnitPriceAmount": 0,
        "unit": -1,
        "amount": -5,
        "taxFlag": null,
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": null,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "357576",
        "itemUPCNumber": 0,
        "itemDescription01": "APPLE CIDER",
        "itemDescription02": "ECSL35",
        "frenchItemDescription1": "JUS DE POMME 3L C6",
        "frenchItemDescription2": "ECSL35",
        "itemIdentifier": null,
        "itemDepartmentNumber": 17,
        "transDepartmentNumber": 17,
        "itemUnitPriceAmount": 4.99,
        "unit": 1,
        "amount": 4.99,
        "taxFlag": "N",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1621817",
        "itemUPCNumber": 0,
        "itemDescription01": "GARDEN SOUP",
        "itemDescription02": "SOUP 6X400ML P220",
        "frenchItemDescription1": "ALLEN SUPER GARDENHARVEST",
        "frenchItemDescription2": "SOUP 6X400ML P220",
        "itemIdentifier": null,
        "itemDepartmentNumber": 13,
        "transDepartmentNumber": 13,
        "itemUnitPriceAmount": 14.99,
        "unit": 1,
        "amount": 14.99,
        "taxFlag": "N",
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": 10,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      },
      {
        "itemNumber": "1712143",
        "itemUPCNumber": 0,
        "itemDescription01": "TPD/1621817",
        "itemDescription02": null,
        "frenchItemDescription1": "ALLEN SUPER GARDENHARVEST",
        "frenchItemDescription2": null,
        "itemIdentifier": null,
        "itemDepartmentNumber": 13,
        "transDepartmentNumber": 13,
        "itemUnitPriceAmount": 0,
        "unit": -1,
        "amount": -3,
        "taxFlag": null,
        "refundFlag": null,
        "voidFlag": null,
        "merchantID": null,
        "entryMethod": null,
        "fuelUnitQuantity": null,
        "fuelUomCode": null,
        "fuelUomDescription": null,
        "fuelUomDescriptionFr": null,
        "fuelGradeCode": null,
        "fuelGradeDescription": null,
        "fuelGradeDescriptionFr": null
      }
    ],
    "couponArray": [
      {
        "couponNumber": "1715228",
        "upcnumberCoupon": "410099692305",
        "associatedItemNumber": "0",
        "unitCoupon": -1,
        "amountCoupon": -4,
        "taxflagCoupon": null,
        "voidflagCoupon": null,
        "refundflagCoupon": null
      },
      {
        "couponNumber": "1714123",
        "upcnumberCoupon": "410099695061",
        "associatedItemNumber": "0",
        "unitCoupon": -1,
        "amountCoupon": -3,
        "taxflagCoupon": null,
        "voidflagCoupon": null,
        "refundflagCoupon": null
      },
      {
        "couponNumber": "1713164",
        "upcnumberCoupon": "410099699236",
        "associatedItemNumber": "0",
        "unitCoupon": -1,
        "amountCoupon": -5,
        "taxflagCoupon": null,
        "voidflagCoupon": null,
        "refundflagCoupon": null
      },
      {
        "couponNumber": "1716231",
        "upcnumberCoupon": "410099689244",
        "associatedItemNumber": "0",
        "unitCoupon": -1,
        "amountCoupon": -3,
        "taxflagCoupon": null,
        "voidflagCoupon": null,
        "refundflagCoupon": null
      },
      {
        "couponNumber": "1715281",
        "upcnumberCoupon": "410099692114",
        "associatedItemNumber": "0",
        "unitCoupon": -1,
        "amountCoupon": -3,
        "taxflagCoupon": null,
        "voidflagCoupon": null,
        "refundflagCoupon": null
      },
      {
        "couponNumber": "1712143",
        "upcnumberCoupon": "410099702981",
        "associatedItemNumber": "0",
        "unitCoupon": -1,
        "amountCoupon": -3,
        "taxflagCoupon": null,
        "voidflagCoupon": null,
        "refundflagCoupon": null
      }
    ],
    "subTaxes": {
      "tax1": null,
      "tax2": null,
      "tax3": null,
      "tax4": null,
      "aTaxPercent": 13,
      "aTaxLegend": "HST",
      "aTaxAmount": 3.77,
      "aTaxPrintCode": null,
      "aTaxPrintCodeFR": null,
      "aTaxIdentifierCode": null,
      "bTaxPercent": null,
      "bTaxLegend": null,
      "bTaxAmount": null,
      "bTaxPrintCode": null,
      "bTaxPrintCodeFR": null,
      "bTaxIdentifierCode": null,
      "cTaxPercent": null,
      "cTaxLegend": null,
      "cTaxAmount": null,
      "cTaxIdentifierCode": null,
      "dTaxPercent": null,
      "dTaxLegend": null,
      "dTaxAmount": null,
      "dTaxPrintCode": null,
      "dTaxPrintCodeFR": null,
      "dTaxIdentifierCode": null,
      "uTaxLegend": "GST/HST",
      "uTaxAmount": null,
      "uTaxableAmount": null
    },
    "tenderArray": [
      {
        "tenderTypeCode": "062",
        "tenderSubTypeCode": null,
        "tenderTypeName": "Master Card",
        "tenderTypeNameFr": null,
        "tenderDescription": "Master Card",
        "amountTender": 105.43,
        "displayAccountNumber": "1234",
        "sequenceNumber": null,
        "approvalNumber": null,
        "responseCode": null,
        "transactionID": null,
        "merchantID": null,
        "entryMethod": null,
        "tenderAcctTxnNumber": null,
        "tenderAuthorizationCode": null,
        "tenderEntryMethodDescription": null,
        "walletType": null,
        "walletId": null
      }
    ]
  }
]

🤝 Contributing

Found a bug? Want to add new data fields?