8
n8n 한국어amn8n.com

청구서 후속 조치 에이전트

중급

이것은Invoice Processing, Multimodal AI분야의자동화 워크플로우로, 8개의 노드를 포함합니다.주로 Cron, Function, EmailSend, GoogleSheets 등의 노드를 사용하며. Google Sheets와 이메일을 통한 인voice 자동 후속 조치, 지능형 응답 톤 지원

사전 요구사항
  • Google Sheets API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "RdYMo0ozk6r4oyLm",
  "meta": {
    "instanceId": "a287613f1596da776459594685fbf4e2b4a12124f80ab8c8772f5e37bff103ae",
    "templateCredsSetupCompleted": true
  },
  "name": "Invoice Follow Up Agent",
  "tags": [],
  "nodes": [
    {
      "id": "bf973089-06fa-4da5-a823-9cc6e0823387",
      "name": "Daily Trigger",
      "type": "n8n-nodes-base.cron",
      "position": [
        -980,
        80
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "hour": 6
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8c35f2a2-8bb3-4608-b95d-ffa8292fa813",
      "name": "Load Invoices",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -780,
        80
      ],
      "parameters": {
        "range": "Invoices!A1:G1000",
        "options": {},
        "sheetId": "YOUR_SHEET_ID",
        "operation": "lookup",
        "authentication": "oAuth2"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "4Y2ksdr35dFDo0rB",
          "name": "maranata"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0874c817-026c-4d88-80e8-e92aa2b51bca",
      "name": "필터 Overdue Invoices",
      "type": "n8n-nodes-base.function",
      "position": [
        -580,
        80
      ],
      "parameters": {
        "functionCode": "\nreturn items.filter(item => {\n  const dueDate = new Date(item.json.due_date);\n  const today = new Date();\n  return item.json.status.toLowerCase() === \"unpaid\" && dueDate < today;\n});\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b296c45e-755c-436f-9791-c2015e7ed0e6",
      "name": "Calculate DPD",
      "type": "n8n-nodes-base.function",
      "position": [
        -380,
        80
      ],
      "parameters": {
        "functionCode": "\nreturn items.map(item => {\n  const dueDate = new Date(item.json.due_date);\n  const today = new Date();\n  const dpd = Math.floor((today - dueDate) / (1000 * 60 * 60 * 24));\n  item.json.dpd = dpd;\n  return item;\n});\n"
      },
      "typeVersion": 1
    },
    {
      "id": "303f0f3b-6fd4-4546-83ba-20158ceb0a8a",
      "name": "Generate Message",
      "type": "n8n-nodes-base.function",
      "position": [
        -180,
        80
      ],
      "parameters": {
        "functionCode": "\nreturn items.map(item => {\n  const dpd = item.json.dpd;\n  let tone = \"\";\n  if (dpd <= 7) {\n    tone = `Hi ${item.json.client_name}, just a quick reminder about your invoice #${item.json.invoice_number} due on ${item.json.due_date}. Let us know if you need anything!`;\n  } else if (dpd <= 14) {\n    tone = `Hi ${item.json.client_name}, your invoice #${item.json.invoice_number} is now ${dpd} days overdue. Please arrange the payment soon.`;\n  } else {\n    tone = `Final Reminder: Invoice #${item.json.invoice_number} is ${dpd} days overdue. Immediate payment is required to avoid further action.`;\n  }\n  item.json.message = tone;\n  return item;\n});\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d636929c-5cc3-4eeb-87cf-c417ee5bc439",
      "name": "이메일 보내기",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        20,
        80
      ],
      "parameters": {
        "text": "={{$json.message}}",
        "options": {},
        "subject": "Invoice Reminder"
      },
      "typeVersion": 1
    },
    {
      "id": "22c96891-4f97-42f4-94fc-670639fde6e2",
      "name": "메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        20
      ],
      "parameters": {
        "color": 3,
        "width": 1300,
        "height": 240,
        "content": "## Flow\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ec179bef-03c4-4a02-8f80-97eb4c6290b5",
      "name": "메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        280
      ],
      "parameters": {
        "color": 4,
        "width": 960,
        "height": 900,
        "content": "# AI Invoice & Payment Follow-Up Agent\n\n## 🧨 Problem\nFreelancers, agencies, and businesses often deal with late payments from clients. Manually tracking unpaid invoices, calculating how overdue they are, and following up takes time and often leads to inconsistent communication or missed revenue.\n\n## ✅ Solution\nThis AI Agent automates the entire invoice follow-up process. It scans unpaid invoices daily, calculates how many days they are overdue (Days Past Due / DPD), and sends personalized reminder emails with different tones depending on how long the invoice has been unpaid.\n\n## 👤 This AI Agent Is For:\n- Freelancers and consultants\n- Digital agencies\n- Finance and billing teams\n- Subscription-based services\n- Anyone managing invoice collections\n\n## 📦 Scope\n- Daily scan of unpaid invoices (via Google Sheets)\n- Filters invoices that are overdue\n- Calculates Days Past Due (DPD)\n- Generates personalized reminder messages with varying tone based on DPD\n- Sends follow-up via Email (can be extended to WhatsApp or Slack)\n- Logs all follow-ups for accountability\n\n## ⚙️ How to Set Up\n1. Replace `YOUR_SHEET_ID` with your actual Google Sheet ID that contains invoice data (columns like `client_name`, `email`, `due_date`, `invoice_number`, `status`)\n2. Customize the reminder messages if needed (in the “Generate Message” node)\n3. Set your email credentials in the Email node (SMTP or Gmail)\n4. Optionally connect to WhatsApp API, Notion, or Slack for multichannel reminders\n5. Activate the Cron Trigger to run daily\n\n> Optional: Expand the workflow with penalty logic, automated PDF resend, or Google Calendar reminders for internal finance tracking.\n\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "47470742-6e89-46dd-a951-a7a3c9c6b7da",
  "connections": {
    "b296c45e-755c-436f-9791-c2015e7ed0e6": {
      "main": [
        [
          {
            "node": "303f0f3b-6fd4-4546-83ba-20158ceb0a8a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bf973089-06fa-4da5-a823-9cc6e0823387": {
      "main": [
        [
          {
            "node": "8c35f2a2-8bb3-4608-b95d-ffa8292fa813",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8c35f2a2-8bb3-4608-b95d-ffa8292fa813": {
      "main": [
        [
          {
            "node": "Filter Overdue Invoices",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "303f0f3b-6fd4-4546-83ba-20158ceb0a8a": {
      "main": [
        [
          {
            "node": "Send Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Overdue Invoices": {
      "main": [
        [
          {
            "node": "b296c45e-755c-436f-9791-c2015e7ed0e6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 청구서 처리, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수8
카테고리2
노드 유형5
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34