---
updatedAt: 2025-06-05T01:13:46.000Z
agentTools:
  projectIndex: https://developers.7shifts.com/v2.2023.0501/llms.txt
---

# Create Receipt

**[Minimum Plan Required](/docs/plan-requirements):** Comp

> 📘 Tips Types
>
> To pass in credit card tips we recommend using the `total` tip type.  `cc` is deprecated and should not be used.  We recommend to only pass `total` and `gratuity` tip details on receipts.  The other types are for internal use only and won't be used in our tip calculations.

# OpenAPI definition

```json
{
  "openapi": "3.0.2",
  "info": {
    "title": "7shifts API",
    "contact": {
      "email": "api-support@7shifts.com"
    },
    "version": "2023-05-01"
  },
  "servers": [
    {
      "url": "https://api.7shifts.com",
      "description": "Production server"
    }
  ],
  "paths": {
    "/v2/company/{company_id}/receipts": {
      "post": {
        "tags": [
          "Receipts"
        ],
        "summary": "Create Receipt",
        "operationId": "createCompleteReceipt",
        "x-public-api": true,
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "description": "7shifts API version",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "description": "An API version",
              "example": "2022-05-01"
            }
          },
          {
            "name": "x-company-guid",
            "in": "header",
            "description": "Company GUID",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "1310bfe1-cb3f-4f24-98a2-fde2bc504108"
          },
          {
            "name": "company_id",
            "in": "path",
            "description": "Company ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "Receipt",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "location_id": {
                        "type": "integer",
                        "description": "The 7shifts location_id this receipt belongs to"
                      },
                      "receipt_date": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Receipt create date time. UTC date time in ISO8601 format",
                        "example": "2021-01-01T00:00:00.000Z"
                      },
                      "net_total": {
                        "type": "integer",
                        "description": "The net total of the receipt pre tax, post-discounts, pre tips. In cents"
                      },
                      "gross_total": {
                        "type": "integer",
                        "description": "The gross total of the receipt in cents",
                        "nullable": true
                      },
                      "total_receipt_discounts": {
                        "type": "integer",
                        "description": "The total discounts of the receipt in cents",
                        "nullable": true,
                        "minimum": 0
                      },
                      "tips": {
                        "type": "integer",
                        "description": "Total tips in cents",
                        "nullable": true
                      },
                      "external_user_id": {
                        "type": "string",
                        "description": "External user ID of the sales receipt in your system (must be unique per 7shifts location).",
                        "nullable": true
                      },
                      "revenue_center": {
                        "type": "string",
                        "description": "Label for the revenue centre for the receipt",
                        "nullable": true
                      },
                      "receipt_lines": {
                        "description": "Receipt line items",
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "external_item_id": {
                              "type": "string",
                              "description": "The item ID available to the client"
                            },
                            "external_category_ids": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "The list of category IDs available to the client"
                            },
                            "quantity": {
                              "type": "integer",
                              "description": "The quantity of this item"
                            },
                            "price": {
                              "type": "integer",
                              "description": "The item price in cents"
                            },
                            "gross_item_price": {
                              "type": "integer",
                              "description": "The item gross price in cents"
                            },
                            "net_item_price": {
                              "type": "integer",
                              "description": "The item net price pre tax, post-discounts, pre tips. In cents"
                            },
                            "item_discount": {
                              "type": "integer",
                              "description": "The item discount. In cents",
                              "minimum": 0
                            },
                            "status": {
                              "type": "string",
                              "enum": [
                                "open",
                                "closed",
                                "voided",
                                "deleted"
                              ],
                              "description": "The item status"
                            },
                            "created": {
                              "type": "string",
                              "format": "date-time",
                              "description": "Line item create date time. UTC date time in ISO8601 format"
                            }
                          },
                          "required": [
                            "external_item_id",
                            "external_category_ids",
                            "quantity",
                            "price",
                            "gross_item_price",
                            "net_item_price",
                            "item_discount",
                            "status"
                          ]
                        }
                      },
                      "tip_details": {
                        "description": "Tip line items",
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "cc",
                                "cash",
                                "declared",
                                "net",
                                "total",
                                "gratuity"
                              ],
                              "description": "Tip type"
                            },
                            "value": {
                              "type": "integer",
                              "description": "Tip value. In cents",
                              "example": 500
                            }
                          },
                          "required": [
                            "type",
                            "value"
                          ]
                        }
                      },
                      "status": {
                        "type": "string",
                        "description": "Status of the receipt",
                        "enum": [
                          "open",
                          "closed",
                          "voided",
                          "deleted"
                        ]
                      },
                      "order_type": {
                        "type": "string",
                        "enum": [
                          "dine_in",
                          "delivery",
                          "take_out"
                        ],
                        "description": "Order type",
                        "nullable": true
                      },
                      "dining_option": {
                        "type": "string",
                        "description": "Dining option",
                        "nullable": true
                      }
                    },
                    "required": [
                      "location_id",
                      "receipt_date",
                      "receipt_lines",
                      "tip_details",
                      "net_total",
                      "status"
                    ]
                  }
                ],
                "type": "object",
                "properties": {
                  "receipt_id": {
                    "type": "string",
                    "description": "ID available to the client in the POS UI. Be it a GUID, a receipt number, a composite of date and ID and terminal, etc"
                  }
                },
                "required": [
                  "receipt_id"
                ]
              }
            }
          }
        },
        "callbacks": {
          "receiptFailed": {
            "https://my.client.com/defined_callback_url": {
              "put": {
                "operationId": "receiptFailed",
                "description": "This callback is provided for the client to receive notification of a failed creation or update to an existing receipt.\n",
                "requestBody": {
                  "content": {
                    "application/json": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "uuid": {
                            "type": "string",
                            "format": "uuid",
                            "description": "uuid of receipt"
                          },
                          "message": {
                            "type": "string",
                            "description": "reason as to why the requested receipt operation failed"
                          }
                        },
                        "required": [
                          "uuid",
                          "message"
                        ]
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "The primary identifier for the problem type (URI reference)."
                    },
                    "title": {
                      "type": "string",
                      "description": "A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization."
                    },
                    "status": {
                      "type": "integer",
                      "description": "The HTTP status code."
                    },
                    "detail": {
                      "type": "string",
                      "description": "A human-readable explanation specific to this occurrence of the problem."
                    },
                    "code": {
                      "type": "integer",
                      "description": "The error code can be used to look up the reason why the request failed."
                    },
                    "param": {
                      "type": "string",
                      "description": "The request parameter that this error is related to."
                    }
                  },
                  "required": [
                    "type",
                    "title",
                    "status",
                    "detail"
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "The primary identifier for the problem type (URI reference)."
                    },
                    "title": {
                      "type": "string",
                      "description": "A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization."
                    },
                    "status": {
                      "type": "integer",
                      "description": "The HTTP status code."
                    },
                    "detail": {
                      "type": "string",
                      "description": "A human-readable explanation specific to this occurrence of the problem."
                    },
                    "code": {
                      "type": "integer",
                      "description": "The error code can be used to look up the reason why the request failed."
                    },
                    "param": {
                      "type": "string",
                      "description": "The request parameter that this error is related to."
                    }
                  },
                  "required": [
                    "type",
                    "title",
                    "status",
                    "detail"
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "The primary identifier for the problem type (URI reference)."
                    },
                    "title": {
                      "type": "string",
                      "description": "A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization."
                    },
                    "status": {
                      "type": "integer",
                      "description": "The HTTP status code."
                    },
                    "detail": {
                      "type": "string",
                      "description": "A human-readable explanation specific to this occurrence of the problem."
                    },
                    "code": {
                      "type": "integer",
                      "description": "The error code can be used to look up the reason why the request failed."
                    },
                    "param": {
                      "type": "string",
                      "description": "The request parameter that this error is related to."
                    }
                  },
                  "required": [
                    "type",
                    "title",
                    "status",
                    "detail"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://app.7shifts.com/oauth2/token",
            "refreshUrl": "https://app.7shifts.com/oauth2/token",
            "scopes": {
              "v1_access": "Required to access APIv1 endpoints."
            }
          },
          "password": {
            "tokenUrl": "https://app.7shifts.com/oauth2/token",
            "refreshUrl": "https://app.7shifts.com/oauth2/token",
            "scopes": {
              "v1_access": "Required to access APIv1 endpoints."
            }
          },
          "authorizationCode": {
            "authorizationUrl": "https://app.7shifts.com/oauth2/authorize",
            "tokenUrl": "https://app.7shifts.com/oauth2/token",
            "refreshUrl": "https://app.7shifts.com/oauth2/token",
            "scopes": {
              "v1_access": "Required to access APIv1 endpoints."
            }
          }
        }
      },
      "cookieAuth": {
        "type": "apiKey",
        "in": "cookie",
        "name": "7session"
      }
    }
  },
  "security": [
    {
      "OAuth2": []
    },
    {
      "cookieAuth": []
    }
  ],
  "tags": [
    {
      "name": "Receipts"
    }
  ],
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```