Automatizar el cálculo de impuestos sobre ventas con una API de calculadora de impuestos y Google Sheets
Este es unInvoice Processing, Multimodal AIflujo de automatización del dominio deautomatización que contiene 9 nodos.Utiliza principalmente nodos como Code, FormTrigger, HttpRequest, GoogleSheets. Automatización del cálculo de impuestos sobre las ventas con la API de calculadora de impuestos y Google Sheets
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Credenciales de API de Google Sheets
Nodos utilizados (9)
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "cfc7a7c6-8ac4-4c18-a0f2-f30572e393f1",
"name": "Al enviar el formulario",
"type": "n8n-nodes-base.formTrigger",
"position": [
0,
0
],
"webhookId": "a85a8033-1f39-498d-901e-0392e2bff50b",
"parameters": {
"options": {},
"formTitle": "Sales Tax Calculator",
"formFields": {
"values": [
{
"fieldLabel": "street",
"placeholder": "321 Birch Road, Suite 400",
"requiredField": true
},
{
"fieldLabel": "city",
"placeholder": "Saint Paul",
"requiredField": true
},
{
"fieldLabel": "state",
"placeholder": "MN",
"requiredField": true
},
{
"fieldLabel": "zip",
"placeholder": "55102"
}
]
},
"formDescription": "Sales Tax Calculator"
},
"typeVersion": 2.2
},
{
"id": "a1416047-5dc9-4514-b83d-d0b76f4ce92e",
"name": "Calcular impuesto de ventas",
"type": "n8n-nodes-base.httpRequest",
"position": [
280,
0
],
"parameters": {
"url": "https://sales-tax-calculator5.p.rapidapi.com/salestax.php",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "street",
"value": "={{ $json.street }}"
},
{
"name": "city",
"value": "={{ $json.city }}"
},
{
"name": "state",
"value": "={{ $json.state }}"
},
{
"name": "zip",
"value": "={{ $json.zip }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "sales-tax-calculator5.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "27ad345c-347e-4b57-a6be-b9d610163013",
"name": "Reformatear",
"type": "n8n-nodes-base.code",
"position": [
580,
0
],
"parameters": {
"jsCode": "let rows = [];\nlet totalTaxRate = 0;\n\n// Iterate over the rate_details in the input data\n$input.first().json.rate_details.forEach(tax => {\n // Push each row with the necessary columns (Tax Agency, Tax Rate, Overall Tax Rate)\n rows.push([\n tax.tax_agency, // Tax Agency\n tax.tax_rate, // Tax Rate\n tax.tax_rate // Overall Tax Rate (same for each agency in this case)\n ]);\n\n // Accumulate the overall tax rate for the total\n totalTaxRate += tax.tax_rate;\n});\n\n// Add the total row at the end\nrows.push([\n \"Total\", // Label for Total\n \"\", // Empty field for Tax Rate\n totalTaxRate // Sum of all Tax Rates\n]);\n\n// Return the rows so they can be used by the next node\nreturn [{ json: { rows } }];\n"
},
"typeVersion": 2
},
{
"id": "8c9c5b39-9e87-47e5-8883-ab0d389feef2",
"name": "Agregar en Hojas de Google",
"type": "n8n-nodes-base.googleSheets",
"position": [
860,
0
],
"parameters": {
"columns": {
"value": {
"rows": "={{ $json.rows }}"
},
"schema": [
{
"id": "rows",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "rows",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"rows"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "",
"cachedResultName": "Sales tax"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 4.6
},
{
"id": "8c3b0d7d-724d-46a1-afad-8667e5e285dc",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-980,
-220
],
"parameters": {
"width": 840,
"height": 740,
"content": "# Sales Tax Calculator Automation Workflow for Accurate Tax Calculation\n\n## Description:\nThis automation workflow calculates and stores sales tax rates based on user-provided address information using a form submission. It integrates with the Sales Tax API, processes the data, and stores results in a Google Sheet for easy access.\n\n---\n\n## 1. **On Form Submission: Capture User Data**\n - Triggers when a user submits the sales tax form, capturing essential address information (street, city, state, zip).\n\n## 2. **Calculate Sales Tax: Fetch Tax Rates from API**\n - Sends a POST request to the Sales Tax API to fetch the tax rates based on the submitted address data.\n\n## 3. **Reformat API Response: Structure Tax Data**\n - Processes and reformats the API response into a structured format with tax agencies, rates, and total tax calculations.\n\n## 4. **Append to Google Sheets: Store Tax Information**\n - Appends the processed tax rate data into a Google Sheets document for easy storage and future use.\n"
},
"typeVersion": 1
},
{
"id": "9559eeaf-51c1-4152-81e6-30ec41313f39",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
-160
],
"parameters": {
"height": 320,
"content": "**On Form Submission: Capture User Data**\n - Triggers when a user submits the sales tax form, capturing essential address information (street, city, state, zip).\n"
},
"typeVersion": 1
},
{
"id": "3cfb2193-a954-46cd-9415-bfb7dec61cd2",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
220,
-160
],
"parameters": {
"height": 320,
"content": " **Calculate Sales Tax: Fetch Tax Rates from API**\n - Sends a POST request to the Sales Tax API to fetch the tax rates based on the submitted address data.\n"
},
"typeVersion": 1
},
{
"id": "cdaf7d69-c546-4635-993d-e1ac04c78c31",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
500,
-160
],
"parameters": {
"height": 320,
"content": "**Reformat API Response: Structure Tax Data**\n - Processes and reformats the API response into a structured format with tax agencies, rates, and total tax calculations.\n"
},
"typeVersion": 1
},
{
"id": "2a795c35-837b-4c30-85f3-38fd1681129f",
"name": "Nota adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
760,
-160
],
"parameters": {
"height": 320,
"content": "**Append to Google Sheets: Store Tax Information**\n - Appends the processed tax rate data into a Google Sheets document for easy storage and future use."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"27ad345c-347e-4b57-a6be-b9d610163013": {
"main": [
[
{
"node": "Agregar en Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"cfc7a7c6-8ac4-4c18-a0f2-f30572e393f1": {
"main": [
[
{
"node": "a1416047-5dc9-4514-b83d-d0b76f4ce92e",
"type": "main",
"index": 0
}
]
]
},
"a1416047-5dc9-4514-b83d-d0b76f4ce92e": {
"main": [
[
{
"node": "27ad345c-347e-4b57-a6be-b9d610163013",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - Procesamiento de facturas, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Sk developer
@skdeveloperCompartir este flujo de trabajo