{
  "version": 1,
  "fictional": true,
  "software": "Shopify, Payments and Balance",
  "title": "Two fictional orders, one later payout",
  "canonicalPage": "https://levelcfo.com/guides/software-integration/shopify/",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "fields": [
    "id: fictional transaction identity",
    "kind: charge or refund",
    "amount: signed USD before processor fee",
    "fee: positive USD charged by the processor",
    "net: signed USD amount minus fee",
    "payout_id: teaching payout identity"
  ],
  "calculation": "Charges of 120 + 80 = 200. Signed activity is 200 - 20 = 180. Fees are 7. Payout net is 180 - 7 = 173. This fixture deliberately excludes taxes, shipping, reserves and other gateways.",
  "files": [
    {
      "filename": "shopify-payout.csv",
      "sha256": "696bc1f9fdf07b0608eea5aeaef07478abd7f8245427d60beac61d9c86901296"
    }
  ],
  "checks": [
    {
      "id": "charges",
      "operation": "sum",
      "expected": 200,
      "file": "shopify-payout.csv",
      "field": "amount",
      "filter": {
        "field": "kind",
        "equals": "charge"
      }
    },
    {
      "id": "activity",
      "operation": "sum",
      "expected": 180,
      "file": "shopify-payout.csv",
      "field": "amount"
    },
    {
      "id": "fees",
      "operation": "sum",
      "expected": 7,
      "file": "shopify-payout.csv",
      "field": "fee"
    },
    {
      "id": "computed_net",
      "operation": "difference",
      "expected": 173,
      "operands": [
        "activity",
        "fees"
      ]
    },
    {
      "id": "reported_net",
      "operation": "sum",
      "expected": 173,
      "file": "shopify-payout.csv",
      "field": "net"
    }
  ],
  "expectedResults": [
    {
      "label": "Captured charges",
      "value": 200,
      "unit": "USD",
      "meaning": "Charge rows only, before this fixture's refund and fees.",
      "checkId": "charges"
    },
    {
      "label": "Signed activity",
      "value": 180,
      "unit": "USD",
      "meaning": "Charges less the linked refund.",
      "checkId": "activity"
    },
    {
      "label": "Processor fees",
      "value": 7,
      "unit": "USD",
      "meaning": "Fees retained as a separate cost.",
      "checkId": "fees"
    },
    {
      "label": "Payout net",
      "value": 173,
      "unit": "USD",
      "meaning": "Expected payout amount, still requiring the bank occurrence.",
      "checkId": "reported_net"
    }
  ],
  "nextDecision": "Find the actual bank occurrence for payout_demo; do not book 173 as gross sales."
}
