---
title: Calcular impuestos manualmente
slug: calcular-impuestos-manualmente
description: Learn how to calculate taxes for transactions with the API service. This document includes code examples in JavaScript and covers responses from the API, including successful responses displaying the cake's name and error responses for non-existent cakes.
createdAt: 2023-04-24T05:28:58.000Z
---

La siguiente documentación de API permite utilizar el servicio de cálculo de impuestos sobre una operación, fuera del circuito de cálculo impositivo de SUGA con costo de servicio

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://{operator-base-url}.sugaway.io/p/taxes/calculate",
  "name": "Calcular Impuestos",
  "method": "POST",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "operator-base-url",
        "type": "String",
        "description": "Identificador del operador asignado por SUGA",
        "": "operator-base-url"
      }
    ],
    "queryParameters": [],
    "headerParameters": [
      {
        "name": "x-api-key",
        "kind": "required",
        "type": "string",
        "description": "API Key del operador.",
        "": "API Key del operador."
      },
      {
        "name": "x-access-token",
        "kind": "required",
        "type": "string",
        "description": "Token de acceso del operador.",
        "": "Token de acceso del operador."
      },
      {
        "name": "x-suga-entity",
        "kind": "required",
        "type": "string",
        "description": "ID del comercio relacionado a la operación. Para poder calcular los impuestos este comercio debe estar pre-creado en la plataforma.",
        "": "ID del comercio relacionado a la operación. Para poder calcular los impuestos este comercio debe estar pre-creado en la plataforma."
      }
    ],
    "bodyDataParameters": [
      {
        "name": "operationOrigin",
        "kind": "required",
        "type": "string",
        "description": "Punto de ingreso de la transacción sobre la que se calcularán los impuestos.\nValores Admitidos:\n*internal: Operaciones que fueron cursadas a través de SUGA\n*external: Operaciones que fueron cursadas a través de sistemas externos.",
        "": "operationOrigin"
      },
      {
        "name": "operationAction",
        "kind": "required",
        "type": "string",
        "description": "Indica el tipo de acción que se está realizando sobre el cupon. Valores admitidos:\n*transaction: se utiliza para indicar que la operación se está pagando al comercio.\n*refund: se utiliza para indicar la devolución de una operación ya pagada al comercio.",
        "": "operationAction"
      },
      {
        "name": "coupon",
        "kind": "optional",
        "type": "string",
        "description": "En el caso de que la transacción se haya cursado a través de SUGA (internal), se debe indicar el ID del cupón en la plataforma",
        "": "En el caso de que la transacción se haya cursado a través de SUGA (internal), se debe indicar el ID del cupón en la plataforma"
      },
      {
        "name": "couponData",
        "kind": "optional",
        "type": "object",
        "description": "En caso de que la transacción se haya cursado fuera de SUGA (external), se deben indicar los datos correspondientes a la operación.",
        "": "object",
        "children": [
          {
            "name": "total",
            "kind": "required",
            "type": "number",
            "description": "Total de la operación"
          },
          {
            "name": "currency",
            "kind": "required",
            "type": "string",
            "description": "Moneda de la operación. Formato ISO-4217 Alfanumérico. Ejemplo: ARS, USD"
          },
          {
            "name": "description",
            "kind": "optional",
            "type": "string",
            "description": "Descripción de la operación"
          },
          {
            "name": "reference",
            "kind": "required",
            "type": "string",
            "description": "Referencia de la operación."
          },
          {
            "name": "sourceReference",
            "kind": "required",
            "type": "string",
            "description": "Tipo de medio de pago utilizado en la operación. Se debe utilizar el esquema de códigos definidos en https://www.sugaway.dev/listado-de-medios-de-pago"
          },
          {
            "name": "sourceAction",
            "kind": "optional",
            "type": "string",
            "description": "Indica el sentido financiero de la operación originante:\n*cashin: Dinero entrante al subcomercio\n*cashout: Dinero saliendo del subcomercio\n\nSi no se indica, por defecto es una operación de cashin"
          },
          {
            "name": "created",
            "kind": "required",
            "type": "number",
            "description": "Fecha original de la operación"
          },
          {
            "name": "customer",
            "kind": "optional",
            "type": "object",
            "description": "Datos del originador de la operación",
            "children": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "identification",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "country",
                "kind": "optional",
                "type": "string",
                "description": ""
              },
              {
                "name": "state",
                "kind": "optional",
                "type": "string",
                "description": ""
              },
              {
                "name": "city",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ]
          }
        ],
        "schema": [
          {
            "name": "total",
            "kind": "required",
            "type": "number",
            "description": "Total de la operación"
          },
          {
            "name": "currency",
            "kind": "required",
            "type": "string",
            "description": "Moneda de la operación. Formato ISO-4217 Alfanumérico. Ejemplo: ARS, USD"
          },
          {
            "name": "description",
            "kind": "optional",
            "type": "string",
            "description": "Descripción de la operación"
          },
          {
            "name": "reference",
            "kind": "required",
            "type": "string",
            "description": "Referencia de la operación."
          },
          {
            "name": "sourceReference",
            "kind": "required",
            "type": "string",
            "description": "Tipo de medio de pago utilizado en la operación. Se debe utilizar el esquema de códigos definidos en https://www.sugaway.dev/listado-de-medios-de-pago"
          },
          {
            "name": "sourceAction",
            "kind": "optional",
            "type": "string",
            "description": "Indica el sentido financiero de la operación originante:\n*cashin: Dinero entrante al subcomercio\n*cashout: Dinero saliendo del subcomercio\n\nSi no se indica, por defecto es una operación de cashin"
          },
          {
            "name": "created",
            "kind": "required",
            "type": "number",
            "description": "Fecha original de la operación"
          },
          {
            "name": "customer",
            "kind": "optional",
            "type": "object",
            "description": "Datos del originador de la operación",
            "children": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "identification",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "country",
                "kind": "optional",
                "type": "string",
                "description": ""
              },
              {
                "name": "state",
                "kind": "optional",
                "type": "string",
                "description": ""
              },
              {
                "name": "city",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ]
          }
        ]
      },
      {
        "name": "transactions",
        "kind": "optional",
        "type": "array",
        "description": "Array con las transacciones (objetos) asociadas a la operación ",
        "": "optional"
      },
      {
        "name": "transactions.$",
        "kind": "optional",
        "type": "object",
        "description": "Objecto con los datos de cada transacción dentro del array transactions",
        "": "Objecto con los datos de cada transacción dentro del array transactions",
        "children": [
          {
            "name": "type",
            "kind": "required",
            "type": "string",
            "description": "Tipo de transacción:\n*Service: Costo de servicio o arancel\n*Financial: Costo financiero de la operación\n*Payment: Importe del pago. En caso de enviar, sobre-escribe el importe del cupon y se considera el mismo para el cálculo de impuestos"
          },
          {
            "name": "total",
            "kind": "required",
            "type": "string",
            "description": "Importe de la transacción relacionada al cupón."
          },
          {
            "name": "currency",
            "kind": "required",
            "type": "string",
            "description": "Moneda de la transacción relacionada al cupón"
          }
        ],
        "schema": [
          {
            "name": "type",
            "kind": "required",
            "type": "string",
            "description": "Tipo de transacción:\n*Service: Costo de servicio o arancel\n*Financial: Costo financiero de la operación\n*Payment: Importe del pago. En caso de enviar, sobre-escribe el importe del cupon y se considera el mismo para el cálculo de impuestos"
          },
          {
            "name": "total",
            "kind": "required",
            "type": "string",
            "description": "Importe de la transacción relacionada al cupón."
          },
          {
            "name": "currency",
            "kind": "required",
            "type": "string",
            "description": "Moneda de la transacción relacionada al cupón"
          }
        ]
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "gvzjuPEZqvX6LR9-7mIzQ",
        "language": "200",
        "code": "{\n    \"result\": true,\n    \"data\": {\n        \"total\": 10.5,\n        \"taxes\": [\n            {\n                \"name\": \"arg.iva.ret\",\n                \"description\": \"República Argentina - Retención IVA\",\n                \"base\": 100,\n                \"total\": 10.5,\n                \"currency\": \"ARS\",\n                \"metadata\": {\n                    \"documentId\": \"0251003134727507\"\n                },\n                \"certificate\": \"https://utils.mobbex.com/taxes/comerciodepruebas/arg.iva.ret/0251003134727507\" // Si el impuesto posee certificado, se indica en esta URL\n            }\n        ]\n    }\n}",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "gvzjuPEZqvX6LR9-7mIzQ"
  },
  "examples": {
    "languages": [
      {
        "id": "h7yLhFihh-vyIBPFB9dOn",
        "language": "curl",
        "code": "curl --location --globoff 'https://{operator-base-url}.sugaway.io/p/taxes/calculate/{operator-base-url}' \\\n--header 'Accept: application/json' \\\n--header 'Content-Type: application/json' \\\n--data '{\n  \"operationOrigin\": \"String\",\n  \"operationAction\": \"String\",\n  \"coupon\": \"String\",\n  \"couponData\": {\n    \"total\": \"\",\n    \"currency\": \"\",\n    \"reference\": \"\",\n    \"sourceReference\": \"\",\n    \"created\": \"\",\n    \"customer\": {\n      \"name\": \"\",\n      \"identification\": \"\"\n    }\n  },\n  \"transactions\": \"Array\",\n  \"transactions.$\": {\n    \"type\": \"\",\n    \"total\": \"\"\n  }\n}'",
        "customLabel": ""
      },
      {
        "id": "Vc8VPVsU97WJcqmQ0Cot2",
        "language": "javascript",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"Accept\", \"application/json\");\nmyHeaders.append(\"Content-Type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"operationOrigin\": \"String\",\n   \"operationAction\": \"String\",\n   \"coupon\": \"String\",\n   \"couponData\": {\n      \"total\": \"\",\n      \"currency\": \"\",\n      \"reference\": \"\",\n      \"sourceReference\": \"\",\n      \"created\": \"\",\n      \"customer\": {\n         \"name\": \"\",\n         \"identification\": \"\"\n      }\n   },\n   \"transactions\": \"Array\",\n   \"transactions.$\": {\n      \"type\": \"\",\n      \"total\": \"\"\n   }\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://{operator-base-url}.sugaway.io/p/taxes/calculate/{operator-base-url}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));",
        "customLabel": ""
      },
      {
        "id": "Jjb77R-kh4iAJMuQpAly8",
        "language": "python",
        "code": "import requests\nimport json\n\nurl = \"https://{operator-base-url}.sugaway.io/p/taxes/calculate/{operator-base-url}\"\n\npayload = json.dumps({\n   \"operationOrigin\": \"String\",\n   \"operationAction\": \"String\",\n   \"coupon\": \"String\",\n   \"couponData\": {\n      \"total\": \"\",\n      \"currency\": \"\",\n      \"reference\": \"\",\n      \"sourceReference\": \"\",\n      \"created\": \"\",\n      \"customer\": {\n         \"name\": \"\",\n         \"identification\": \"\"\n      }\n   },\n   \"transactions\": \"Array\",\n   \"transactions.$\": {\n      \"type\": \"\",\n      \"total\": \"\"\n   }\n})\nheaders = {\n   'Accept': 'application/json',\n   'Content-Type': 'application/json'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "h7yLhFihh-vyIBPFB9dOn"
  },
  "description": "Calcular los impuestos asociados a una operación para un Agrupador.",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "calcular-impuestos",
  "legacyHash": "ub0iqjkUX2U-gAbuGZIYo"
}
```
:::

