> ## Documentation Index
> Fetch the complete documentation index at: https://www.commercengine.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve order receipt

> Retrieves a printable receipt for a specific order using the order number. This endpoint returns either structured JSON data or a formatted PDF, suitable for customer presentation. Response format (JSON or PDF) is determined by an optional query parameter (e.g. format=pdf or format=json).



## OpenAPI

````yaml https://openapi.commercengine.io/ce-pos.json get /pos/orders/{order_number}/receipt
openapi: 3.1.0
info:
  title: CE POS APIs
  description: >-
    The consolidated Point of Sale surface. Every operation is served under the
    storefront base URL; operations tagged POSAdmin are proxied to the admin
    service by the POS backend.
  version: '1.0'
servers:
  - url: https://staging.api.commercengine.io/api/v1/{store_id}/storefront
    description: Staging Server
    variables:
      store_id:
        description: Store ID
        default: store_id
    x-speakeasy-server-id: staging
  - url: https://prod.api.commercengine.io/api/v1/{store_id}/storefront
    description: Prod Server
    variables:
      store_id:
        description: Store ID
        default: store_id
    x-speakeasy-server-id: prod
security:
  - Authorization: []
tags:
  - name: POS
    description: Operations backed by the storefront service
  - name: POSAdmin
    description: Operations proxied to the admin service
paths:
  /pos/orders/{order_number}/receipt:
    get:
      tags:
        - POSAdmin
      summary: Retrieve order receipt
      description: >-
        Retrieves a printable receipt for a specific order using the order
        number. This endpoint returns either structured JSON data or a formatted
        PDF, suitable for customer presentation. Response format (JSON or PDF)
        is determined by an optional query parameter (e.g. format=pdf or
        format=json).
      operationId: pos-get-order-receipt
      parameters:
        - name: format
          in: query
          description: Response data format
          schema:
            type: string
            default: json
            enum:
              - json
              - pdf
        - name: order_number
          in: path
          description: order number
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  success:
                    type: boolean
                  content:
                    properties:
                      order_receipt:
                        $ref: '#/components/schemas/OrderReceiptJsonFormat'
                    type: object
            application/pdf:
              schema:
                type: object
      security:
        - Authorization: []
components:
  schemas:
    OrderReceiptJsonFormat:
      title: OrderReceiptJsonFormat
      allOf:
        - $ref: '#/components/schemas/AdminOrder'
        - type: object
          properties:
            billing_address:
              $ref: '#/components/schemas/AdminCustomerAddress'
            shipping_address:
              $ref: '#/components/schemas/AdminCustomerAddress'
            order_items:
              type: array
              items:
                $ref: '#/components/schemas/AdminOrderItem'
            payments:
              type: array
              items:
                $ref: '#/components/schemas/AdminOrderPayment'
    AdminOrder:
      title: Order
      type: object
      properties:
        id:
          description: Same value as `order_number`.
          type: string
          readOnly: true
        order_number:
          type: string
        cart_id:
          description: Identifier of the cart the order was created from.
          type: string
          readOnly: true
        order_date:
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/OrderStatus'
        payment_status:
          $ref: '#/components/schemas/PaymentStatus'
        marketplace_synced:
          description: Indicates whether the order was synced from Marketplace.
          type: boolean
        payment_success_date:
          type:
            - string
            - 'null'
          format: date-time
        customer_id:
          type: string
        customer_email:
          type:
            - string
            - 'null'
        customer_phone:
          type:
            - string
            - 'null'
        customer_note:
          type:
            - string
            - 'null'
        is_promotion_applied:
          type: boolean
        promotion_discount_amount:
          type:
            - integer
            - 'null'
        promotion_discount_percent:
          type:
            - number
            - 'null'
          format: double
          readOnly: true
        is_coupon_applied:
          type: boolean
        coupon_code:
          type:
            - string
            - 'null'
        coupon_id:
          type:
            - string
            - 'null'
          readOnly: true
        coupon_discount_amount:
          type:
            - number
            - 'null'
          format: double
        coupon_discount_percent:
          type:
            - number
            - 'null'
          format: double
          readOnly: true
        on_subscription:
          type: boolean
        fulfillment_preference:
          $ref: '#/components/schemas/AdminFulfillmentPreference'
        sales_channel:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            type:
              type: string
          required:
            - id
            - name
            - type
        metadata:
          type:
            - object
            - 'null'
          additionalProperties:
            type:
              - string
              - 'null'
        subtotal:
          type: number
          format: double
        subtotal_tax:
          type: number
          format: double
        subtotal_including_tax:
          type: number
          format: double
        shipping_amount:
          type: number
          format: double
        shipping_tax_rate:
          type: number
          format: double
        shipping_total_tax:
          type: number
          format: double
        shipping_amount_including_tax:
          type: number
          format: double
        total_tax:
          type: number
          format: double
        grand_total:
          type: number
          format: double
        loyalty_point_redeemed:
          type: integer
        credit_balance_used:
          type: integer
        to_be_paid:
          type: number
          format: double
        loyalty_point_earned:
          type: integer
        order_items_count:
          type: integer
        currency:
          type: object
          properties:
            name:
              type: string
            code:
              type: string
            symbol:
              type: string
        feedback:
          type:
            - string
            - 'null'
        allowed_actions:
          type: array
          items:
            $ref: '#/components/schemas/OrderAction'
        applied_coupons:
          type: array
          items:
            $ref: '#/components/schemas/AdminAppliedCoupon'
        applied_promotions:
          type: array
          items:
            $ref: '#/components/schemas/AdminAppliedPromotion'
        created_at:
          type: string
          format: date-time
        modified_at:
          type: string
          format: date-time
      x-tags:
        - Orders
    AdminCustomerAddress:
      title: CustomerAddress
      type: object
      required:
        - first_name
        - phone
        - email
        - address_line1
        - pincode
        - city
        - state
        - country
      properties:
        id:
          type: string
          readOnly: true
        first_name:
          type:
            - string
            - 'null'
        last_name:
          type:
            - string
            - 'null'
        country_code:
          description: "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.\r\n"
          type: string
        phone:
          description: 10 digit phone number without country code.
          type:
            - string
            - 'null'
        email:
          type:
            - string
            - 'null'
        address_line1:
          type:
            - string
            - 'null'
        address_line2:
          type:
            - string
            - 'null'
        landmark:
          type:
            - string
            - 'null'
        pincode:
          type:
            - string
            - 'null'
        city:
          type:
            - string
            - 'null'
        state:
          type:
            - string
            - 'null'
        country:
          type: string
          enum:
            - India
        gstin:
          description: Use in shipping details only for third party.
          type:
            - string
            - 'null'
        business_name:
          description: Use in shipping details only for third party.
          type:
            - string
            - 'null'
        is_phone_verified:
          type: boolean
          readOnly: true
        is_email_verified:
          type: boolean
          readOnly: true
        is_default_shipping:
          type: boolean
        is_default_billing:
          type: boolean
        created_at:
          type: string
          format: date-time
          readOnly: true
        modified_at:
          type: string
          format: date-time
          readOnly: true
      examples: []
      x-tags:
        - Customers
    AdminOrderItem:
      title: OrderItem
      type: object
      required:
        - sku
        - quantity
      properties:
        product_id:
          type: string
          readOnly: true
        product_name:
          type: string
          readOnly: true
        slug:
          description: >-
            Slug of the thing actually ordered — the variant's slug when the
            item has a variant, otherwise the product's.
          type: string
          readOnly: true
        product_slug:
          type: string
          readOnly: true
        variant_slug:
          description: Empty string when the item has no variant.
          type: string
          readOnly: true
        product_type:
          $ref: '#/components/schemas/ProductType'
        product_image_url:
          type:
            - string
            - 'null'
          readOnly: true
        sku:
          type: string
        on_offer:
          type: boolean
          readOnly: true
        on_promotion:
          type: boolean
          readOnly: true
        on_subscription:
          type: boolean
        subscription_plan:
          type:
            - string
            - 'null'
        subscription_interval:
          type:
            - integer
            - 'null'
          readOnly: true
        subscription_frequency:
          type:
            - string
            - 'null'
          readOnly: true
        quantity:
          type: integer
        incremental_quantity:
          description: Step the quantity can be changed by.
          type: integer
          readOnly: true
        free_quantity:
          type: integer
          readOnly: true
        is_free_item:
          type: boolean
          readOnly: true
        selling_price:
          type: number
          format: double
          readOnly: true
        selling_price_excluding_tax:
          type: number
          format: double
          readOnly: true
        listing_price:
          type: number
          format: double
          readOnly: true
        price_including_tax:
          description: >-
            Whether `selling_price` and `listing_price` already include tax. A
            flag, not an amount.
          type: boolean
          readOnly: true
        promotion_discount_amount:
          type: number
          format: double
          readOnly: true
        promotion_discount_percent:
          type: number
          format: double
          readOnly: true
        coupon_discount_amount:
          type: number
          format: double
          readOnly: true
        coupon_discount_percent:
          type: number
          format: double
          readOnly: true
        tax_type:
          enum:
            - GST
          readOnly: true
        tax_rate:
          type: number
          format: float
          readOnly: true
        tax_amount:
          type: number
          format: double
          readOnly: true
        hsncode:
          description: HSN code used for the item's tax treatment.
          type: string
          readOnly: true
        handling_charge_excluding_tax:
          type: number
          format: double
          readOnly: true
        handling_charge_including_tax:
          type: number
          format: double
        handling_charge_tax_rate:
          type: number
          format: double
        variant_id:
          type:
            - string
            - 'null'
        variant_name:
          type:
            - string
            - 'null'
        product_variant_id:
          type:
            - string
            - 'null'
          readOnly: true
        seller_id:
          description: >-
            Seller ID. This field is relevant for marketplace type stores only.
            Will return null for b2b and b2c type stores.
          type:
            - string
            - 'null'
        seller_detail:
          description: >-
            Seller detail information. This field is relevant for marketplace
            type stores only. Will return null for b2b and b2c type stores.
          oneOf:
            - $ref: '#/components/schemas/SellerBasicDetail'
            - type: 'null'
        seller_product_id:
          description: >-
            Seller's own product identifier. Relevant to marketplace stores
            only; `null` for b2b and b2c stores.
          type:
            - string
            - 'null'
          readOnly: true
        seller_variant_id:
          description: >-
            Seller's own variant identifier. Relevant to marketplace stores
            only; `null` for b2b and b2c stores.
          type:
            - string
            - 'null'
          readOnly: true
        attributes:
          description: Product attributes captured on the item at the time of the order.
          type:
            - array
            - 'null'
          items:
            type: object
            properties:
              id:
                type: string
              key:
                description: Attribute name in snake case.
                type: string
              name:
                type: string
              type:
                description: >-
                  Attribute type, e.g. `single-select`, `boolean`, `text`,
                  `multi-select`, `date`, `color`.
                type: string
              value:
                description: >-
                  Shape follows `type`: a string for `text`, `single-select` and
                  `date`, a boolean for `boolean`. Items carrying `multi-select`
                  or `color` attributes were not present in the sample, so their
                  shape is deliberately left open.
          readOnly: true
        associated_options:
          description: >-
            Variant options, keyed by the option's snake-case key. `null` for
            items with no variant.
          type:
            - object
            - 'null'
          additionalProperties:
            type: object
            properties:
              name:
                type: string
              type:
                type: string
              value:
                type: string
          readOnly: true
      x-tags:
        - Orders
    AdminOrderPayment:
      title: OrderPayment
      description: Order Payment
      oneOf:
        - $ref: '#/components/schemas/AdminCardPayment'
        - $ref: '#/components/schemas/AdminNetbankingPayment'
        - $ref: '#/components/schemas/AdminUpiPayment'
        - $ref: '#/components/schemas/AdminWalletPayment'
        - $ref: '#/components/schemas/AdminBankTransfer'
        - $ref: '#/components/schemas/LoyaltyPointPayment'
    OrderStatus:
      enum:
        - draft
        - awaiting_approval
        - confirmed
        - schedule_requested
        - partially_scheduled
        - awaiting_shipment
        - shipped
        - partially_shipped
        - undelivered
        - partially_undelivered
        - return_to_origin
        - partially_return_to_origin
        - complete
        - partially_delivered
        - cancelled
        - pending
        - lost
        - sent_to_store
        - store_rejected
    PaymentStatus:
      title: PaymentStatus
      enum:
        - pending
        - success
        - failed
        - partially_paid
        - refund_initiated
        - refunded
        - unsettled
        - settled
        - partially_settled
        - debit_scheduled
        - collection_due
    AdminFulfillmentPreference:
      title: FulfillmentPreference
      discriminator:
        propertyName: fulfillment_type
        mapping:
          collect-in-store:
            $ref: '#/components/schemas/AdminCollectInStoreFulfillment'
          delivery:
            $ref: '#/components/schemas/AdminDeliveryFulfillment'
          partial-collect-and-delivery:
            $ref: '#/components/schemas/AdminPartialCollectAndDelivery'
      oneOf:
        - $ref: '#/components/schemas/AdminCollectInStoreFulfillment'
        - $ref: '#/components/schemas/AdminDeliveryFulfillment'
        - $ref: '#/components/schemas/AdminPartialCollectAndDelivery'
      x-tags:
        - Orders
    OrderAction:
      enum:
        - create-shipment
        - update-order
        - download-invoice
        - inventory-check
        - refresh-payment-status
        - return-replace
        - update-payment-status
        - cancel-order
        - approve-order
    AdminAppliedCoupon:
      title: AppliedPromotion
      description: Details about an active coupon applied to a cart/order
      type: object
      required:
        - coupon_id
        - coupon_type
        - savings
        - product_id
        - variant_id
        - product_name
        - variant_name
      properties:
        coupon_id:
          type: string
        coupon_type:
          enum:
            - discount
            - free-goods
            - fixed-price
            - free-shipping
            - buy-x-get-y
            - volume-based
            - accelerated-rewards
        savings:
          type: number
        product_id:
          type:
            - string
            - 'null'
        variant_id:
          type:
            - string
            - 'null'
        product_name:
          type:
            - string
            - 'null'
        variant_name:
          type:
            - string
            - 'null'
    AdminAppliedPromotion:
      title: AppliedPromotion
      description: Details about an active promotion applied to a cart/order
      type: object
      required:
        - promotion_id
        - promotion_type
        - savings
        - product_id
        - variant_id
        - product_name
        - variant_name
        - applied_sequence
        - scope
      properties:
        promotion_id:
          type: string
        promotion_type:
          enum:
            - discount
            - free-goods
            - fixed-price
            - free-shipping
            - buy-x-get-y
            - volume-based
        savings:
          type: number
        product_id:
          type:
            - string
            - 'null'
        variant_id:
          type:
            - string
            - 'null'
        product_name:
          type:
            - string
            - 'null'
        variant_name:
          type:
            - string
            - 'null'
        applied_sequence:
          type: number
        scope:
          type: string
    ProductType:
      title: ProductType
      description: Type of product
      type: string
      enum:
        - physical
        - digital
        - bundle
      x-tags:
        - Catalog
    SellerBasicDetail:
      title: SellerBasicDetail
      type: object
      properties:
        id:
          type: string
        trade_name:
          type: string
        legal_name:
          type: string
        business_type:
          $ref: '#/components/schemas/SellerBusinessType'
        tax_identification_number:
          type: string
    AdminCardPayment:
      title: CardPayment
      description: Payments using credit card, debit card
      allOf:
        - $ref: '#/components/schemas/OrderPaymentInfo'
        - type: object
          properties:
            card_number:
              description: "masked card number\r\ne.g. ************1111"
              type:
                - string
                - 'null'
            card_type:
              type: string
              enum:
                - Visa
                - Master Card
                - Rupay
    AdminNetbankingPayment:
      title: NetbankingPayment
      description: Payments using payment gateway netbanking option.
      allOf:
        - $ref: '#/components/schemas/OrderPaymentInfo'
        - type: object
          properties:
            bank_name:
              type: string
    AdminUpiPayment:
      title: UpiPayment
      description: UPI Payment
      allOf:
        - $ref: '#/components/schemas/OrderPaymentInfo'
        - type: object
          properties:
            upi_id:
              type:
                - string
                - 'null'
    AdminWalletPayment:
      title: WalletPayment
      allOf:
        - $ref: '#/components/schemas/OrderPaymentInfo'
        - type: object
          properties:
            wallet_name:
              type:
                - string
                - 'null'
    AdminBankTransfer:
      title: BankTransfer
      description: Bank transfer payment - IMPS, NEFT, RTGS
      allOf:
        - $ref: '#/components/schemas/OrderPaymentInfo'
        - type: object
          properties:
            bank_account_number:
              description: "masked account number\r\ne.g. ************1234"
              type:
                - string
                - 'null'
            bank_name:
              type:
                - string
                - 'null'
    LoyaltyPointPayment:
      title: LoyaltyPointPayment
      description: Loyalty point redemption.
      allOf:
        - $ref: '#/components/schemas/OrderPaymentInfo'
      x-tags:
        - Orders
    AdminCollectInStoreFulfillment:
      title: CollectInStoreFulfillment
      type: object
      required:
        - fulfillment_type
        - pickup_location_id
      properties:
        fulfillment_type:
          type: string
          const: collect-in-store
        preference_type:
          type: string
          enum:
            - user
            - auto
          readOnly: true
        pickup_location_id:
          type: string
        pickup_location_name:
          type: string
          readOnly: true
    AdminDeliveryFulfillment:
      title: DeliveryFulfillment
      type: object
      required:
        - fulfillment_type
        - shipping_provider_id
      properties:
        fulfillment_type:
          type: string
          const: delivery
        preference_type:
          type: string
          enum:
            - user
            - auto
          readOnly: true
        shipping_provider_id:
          type:
            - string
            - 'null'
        shipping_provider_name:
          type:
            - string
            - 'null'
          readOnly: true
        courier_company_id:
          type:
            - string
            - 'null'
        courier_company_name:
          type:
            - string
            - 'null'
          readOnly: true
    AdminPartialCollectAndDelivery:
      title: PartialCollectAndDelivery
      type: object
      required:
        - fulfillment_type
        - collect-in-store
        - delivery
      properties:
        fulfillment_type:
          type: string
          const: partial-collect-and-delivery
        preference_type:
          type: string
          enum:
            - user
            - auto
          readOnly: true
        collect-in-store:
          type: object
          properties:
            pickup_location_id:
              type: string
            pickup_location_name:
              type: string
              readOnly: true
            items:
              type: array
              items:
                $ref: '#/components/schemas/AdminFulfillmentItem'
          required:
            - items
            - pickup_location_id
        delivery:
          type: object
          properties:
            shipping_provider_id:
              type: string
            shipping_provider_name:
              type:
                - string
                - 'null'
              readOnly: true
            courier_company_id:
              type:
                - string
                - 'null'
            courier_company_name:
              type:
                - string
                - 'null'
              readOnly: true
            items:
              type: array
              items:
                $ref: '#/components/schemas/AdminFulfillmentItem'
          required:
            - shipping_provider_id
            - items
    SellerBusinessType:
      title: SellerBusinessType
      type: string
      enum:
        - sole_proprietorship
        - private_limited
        - public_listed
        - public_limited
        - state_owned
        - charity
        - individual
    OrderPaymentInfo:
      title: OrderPaymentInfo
      description: Common fields in all types of payments.
      type: object
      properties:
        transaction_type:
          enum:
            - payment
            - refund
        request_number:
          type: string
        amount:
          type: number
          format: double
        payment_status:
          $ref: '#/components/schemas/PaymentStatus'
        payment_date:
          type: string
          format: date-time
        payment_reference_number:
          type:
            - string
            - 'null'
        payment_method:
          description: >-
            `""` when the payment was recorded without a method — seen on
            point-of-sale orders.
          type: string
          enum:
            - Card
            - Credit Card
            - Debit Card
            - Netbanking
            - UPI
            - Wallet
            - Loyalty Point
            - IMPS
            - NEFT
            - RTGS
            - Cash
            - NACH
            - ''
        payment_mode:
          type: string
        icon_url:
          type:
            - string
            - 'null'
        created_at:
          type: string
          format: date-time
          readOnly: true
        modified_at:
          type: string
          format: date-time
          readOnly: true
      x-tags:
        - Orders
    AdminFulfillmentItem:
      title: FulfillmentItem
      type: object
      required:
        - product_id
        - product_name
        - variant_id
        - variant_name
        - quantity
      properties:
        product_id:
          type: string
        product_name:
          type: string
          readOnly: true
        variant_id:
          type:
            - string
            - 'null'
        variant_name:
          type:
            - string
            - 'null'
          readOnly: true
        quantity:
          type: integer
  securitySchemes:
    Authorization:
      type: http
      description: Access token
      scheme: bearer

````