인보이싱 앱 만드는 법
인보이싱 앱은 고객 목록을 관리하고, 품목 항목과 세금이 있는 인보이스를 만들 수 있게 하며, 각 인보이스에 고유 번호를 부여하고, 고객이 열어 볼 수 있는 PDF나 링크를 만들며, 결제 여부를 추적합니다. 첫 버전은 평범한 데이터베이스 앱이라 AI로 하루나 이틀이면 만들 수 있습니다. 번호 체계, 세금, 잠긴 인보이스, 결제 상태처럼 중요한 세부 사항이 장난감과 고객에게 보낼 수 있는 도구를 가릅니다.
어떤 종류의 인보이싱 도구가 필요한지 정하세요
"인보이싱 앱"은 몇 가지 다른 것을 가리킵니다. 시작하기 전에 하나를 고르세요.
| 종류 | 누가 쓰나 | 무엇이 다른가 |
|---|---|---|
| 개인용 인보이스 생성기 | 프리랜서 | 사업체 하나, 빠른 PDF, 누가 결제했는지 간단한 목록 |
| 비즈니스 인보이싱 도구 | 소규모 팀 | 여러 사용자, 공유 고객 목록, 보고서 |
| 더 큰 앱 안의 인보이싱 | 고객이나 직원 | 이미 추적 중인 작업, 예약, 근무 시간표에서 인보이스 생성 |
| 다른 사람을 위한 인보이싱 제품 | 여러 사업체 | 각 계정은 자기 데이터만 봄 — 이것은 SaaS |
직접 만드는 것이 가장 큰 효과를 내는 것은 세 번째 종류입니다. 이미 작업이나 근무 시간을 기록하고 있다면 그 데이터에서 인보이스를 만들어 다시 입력하는 수고를 줄일 수 있습니다. 네 번째는 계정과 결제에 대한 자체 고려가 필요한 본격적인 SaaS MVP입니다.
데이터 모델
네 개의 테이블이면 대부분의 필요를 충족합니다.
- 사업자 설정 — 사업자명, 주소, 세금 또는 부가세 번호, 로고, 계좌 정보, 기본 결제 조건, 기본 세율, 통화, 다음 인보이스 번호.
- 고객 — 이름, 회사명, 이메일, 청구 주소, 필요하면 세금 번호, 기본 조건.
- 인보이스 — 번호, 고객, 발행일, 마감일, 상태, 통화, 메모, 합계(소계, 세액, 총액).
- 품목 항목 — 인보이스, 설명, 수량, 단가, 세율, 항목 합계.
고객이 여러 번 나눠 내거나 여러 방법으로 결제한다면 결제 테이블을 추가하세요. 인보이스, 날짜, 금액, 방법, 참조 번호를 담습니다.
중요한 규칙
AI 빌더는 요청하지 않으면 제대로 만들지 못하는 부분입니다.
- 연속적이고 고유한 번호. 많은 세무 체계가 인보이스 번호가 고유하고 순서대로 이어질 것을 기대합니다. 번호는 임시저장을 만들 때가 아니라 인보이스를 발행할 때 서버에서 생성하세요. 그래야 버려진 임시저장이 번호 공백을 만들지 않습니다.
- 발송한 인보이스는 잠그기. 인보이스가 발송된 뒤 조용히 수정하는 것은 문제입니다. 임시저장만 수정을 허용하세요. 발송된 인보이스는 무효 처리 후 새로 발행하거나 대변 메모를 발행하세요.
- 고객 정보 스냅샷. 고객이 내년에 주소를 바꿔도 작년 인보이스에는 옛 주소가 남아 있어야 합니다. 인보이스를 발행할 때 고객 정보를 인보이스에 복사하세요.
- 가장 작은 화폐 단위의 정수로 금액 저장. 합계가 반올림 때문에 어긋나지 않도록 소수 대신 센트(또는 펜스) 단위로 저장하세요. 세금은 세무 당국이 기대하는 방식대로, 항목별이나 인보이스별로 반올림하세요.
- 현실을 따르는 상태. 임시저장, 발송, 결제 완료, 일부 결제, 연체, 무효. "연체"는 손으로 설정하지 말고 마감일에서 계산하세요.
PDF인가, 인보이스 페이지인가?
고객은 PDF를 기대하지만, 웹 페이지가 동기화를 유지하기 더 쉽습니다. 대부분의 인보이싱 도구는 둘 다 제공합니다.
- 공유 가능한 인보이스 페이지. 추측하기 어려운 링크로, 고객이 로그인 없이 보고 결제할 수 있습니다.
- PDF 다운로드. 같은 데이터에서 생성되며, 로고와 사업자 정보가 들어갑니다.
인쇄하기 좋은 레이아웃을 요청하고, 용지 크기(A4 또는 US Letter)에 맞춰 PDF를 확인하세요. 품목이 많으면 페이지가 깔끔하게 넘어가야 합니다.
온라인으로 결제 받기
많은 사업체에게는 인보이스에 계좌 정보를 적어 두는 것으로 충분합니다. 카드 결제가 필요하면 결제 제공자를 연결하세요.
- 인보이스 금액용 Stripe Checkout 또는 결제 링크. 고객이 인보이스 페이지에서 "지금 결제"를 클릭합니다.
- 제공자의 웹훅. 결제가 성공하면 앱에 알려 주고, 앱이 인보이스를 결제 완료로 표시합니다. 고객이 성공 페이지로 돌아왔다는 이유만으로 결제 완료 처리하지 마세요. 결제하지 않아도 그 페이지에 도달할 수 있습니다. 앱에 결제 추가하는 법을 참고하세요.
- 먼저 테스트 모드 사용. 전체 흐름이 작동할 때까지 제공자의 테스트 키와 테스트 카드를 쓰세요.
참고로 Stripe는 2026년 9월 기준으로 호스팅된 인보이스 페이지를 제공하는 자체 인보이싱 제품도 있습니다. 인보이스를 보내고 결제받는 것만 필요하다면 그것만으로 충분할 수 있습니다.
독촉 알림
"인보이스 마감이 다가왔습니다"라는 자동 이메일은 가장 가치 있게 여겨지는 기능 중 하나이면서, 잘못 만들기 쉬운 기능이기도 합니다. 다음이 필요합니다.
- 이메일 제공자(Resend, Postmark, SendGrid 등) — 앱에서 이메일 보내기를 참고하세요.
- 연체된 인보이스를 찾기 위해 일정에 따라 실행되는 무엇인가. 유휴 상태에서 잠드는 배포된 웹 앱은 저절로 깨어나지 않으므로, 확인 작업이 어떻게 실행될지 빌더에게 물어보세요. 예를 들어 외부 cron 서비스가 앱의 엔드포인트를 예약 호출하는 방식입니다.
- 어떤 독촉이 발송되었는지에 대한 기록. 같은 이메일을 두 번 받는 사람이 없도록 하세요.
수동 "독촉 보내기" 버튼으로 시작하고, 자동화는 나중에 하세요.
실제로 잘 작동하는 첫 프롬프트
내 웹 디자인 사업을 위한 인보이싱 앱을 만들어 줘. 나는 로그인해서 고객을 관리해(이름, 회사명, 이메일, 청구 주소, VAT 번호). 품목 항목(설명, 수량, 단가)이 있는 인보이스를 만들고, 항목마다 VAT 세율을 지정하면 소계, VAT, 총액이 실시간으로 계산되어 보여야 해. 인보이스 번호는 순서대로(INV-0001, INV-0002) 매기고, 인보이스를 발송 상태로 바꿀 때 부여해. 임시저장은 계속 수정할 수 있고, 발송된 인보이스는 잠가. 각 인보이스에는 상태(임시저장, 발송, 결제 완료, 연체)와 마감일이 있고, 연체는 마감일에서 계산해. 각 인보이스에는 비공개 공유 링크와 내 로고 및 계좌 정보가 들어간 PDF 다운로드를 제공해. 대시보드에는 미수금 총액과 연체 금액이 보여야 해. 금액은 펜스 단위로 저장하고, 통화는 GBP만 써. 모든 데이터는 데이터베이스에 저장해 줘.
구축 단계
- 설정과 고객부터. 모든 인보이스가 이것에 의존하므로, 사업자 정보와 고객 목록을 먼저 작동시키세요.
- 인보이스 편집기. 품목 항목, 세금, 합계. 까다로운 숫자로 테스트하세요 — 33.33파운드 3개를 VAT 20%로 — 그리고 합계를 계산기로 확인하세요.
- 번호 매기기와 잠금. 인보이스 세 개를 발행하고, 임시저장 하나를 삭제한 뒤, 또 하나를 발행하세요. 번호는 공백이나 중복 없이 순서대로 이어져야 합니다.
- 인보이스 페이지와 PDF. 공유 링크를 비공개 창에서 열어 보세요. PDF를 인쇄해 보세요.
- 결제. 테스트 모드로 Stripe를 추가하고, 테스트 카드로 인보이스를 결제한 뒤, 웹훅이 결제 완료로 표시하는지 확인하세요.
- 보안 점검. 로그아웃한 뒤 URL의 ID를 바꿔 다른 고객의 인보이스를 열어 보세요. 비공개 링크만 작동해야 하고, 다른 인보이스가 드러나면 안 됩니다. AI로 만든 앱의 보안 체크리스트에 더 많은 점검 항목이 있습니다.
- 내보내기. 회계사를 위해 인보이스와 결제 내역을 CSV로 내보내는 기능을 추가하세요.
흔한 실수
- 소수점 부동소수점으로 금액 계산. 0.1 + 0.2가 0.3과 같지 않은 것은 실제 앱에서 실제로 생기는 버그입니다. 최소 단위 정수로 저장하세요.
- 발송된 인보이스 수정 가능. 고객이 이미 받은 인보이스를 바꾸면 분쟁과 회계 문제가 생깁니다.
- 임시저장에서 번호 부여. 공백과 혼란이 생깁니다.
- 추측 가능한 인보이스 링크.
/invoice/42는 누군가/invoice/43을 시도하도록 부추깁니다. 길고 무작위인 토큰을 쓰세요. - 세금 규칙이 하나라고 가정. 세율, 역부과(reverse charge), 필수 문구는 나라와 고객 유형에 따라 다릅니다. 회계사에게 물어보고, AI가 추측하게 두지 마세요.
- 백업 없음. 인보이스는 여러 해 동안 보관해야 할 수 있는 기록입니다. 정기적으로 내보내고, 허용하는 요금제라면 코드도 GitHub에 보관하세요.
비용과 도구
| 항목 | 용도 | 참고 |
|---|---|---|
| 앱 빌더 / 호스팅 / 데이터베이스 | 앱 만들기와 운영 | Mythex에서는 크레딧 잔액 하나로 이 모든 것을 충당합니다 — 요금제를 참고하세요 |
| 결제 제공자 | 카드 결제 | 거래마다 수수료가 부과됩니다. 국가별 현재 요금은 제공자에게 확인하세요 |
| 이메일 제공자 | 인보이스와 독촉 발송 | 소량 발송은 무료 요금제가 있는 곳이 많습니다 |
| 도메인 | 전문적인 인보이스 링크 | 선택 사항이며, 연간 청구됩니다 |
기성 인보이싱 소프트웨어가 더 나은 경우
인보이싱이 자신의 업무 방식의 일부일 때, 청구 방식에 딱 맞는 도구를 원할 때, 또는 이미 가진 앱에 인보이스 기능을 추가할 때는 직접 만드는 것이 좋습니다. 다음과 같은 경우에는 검증된 회계 또는 인보이싱 소프트웨어를 고르세요.
- 장부 기록, 은행 거래 연결, 지출 관리, 세금 신고를 한곳에서 해야 할 때.
- 나라에서 특정 형식이나 인증된 채널을 통한 전자 세금계산서를 요구할 때.
- 회계사가 이미 알고 있는 도구에서 일하길 원할 때.
흔한 절충안은 자신에게 특화된 부분(작업, 근무 시간표, 고객이 자신의 인보이스를 보는 고객 포털)만 직접 만들고, 숫자는 회계 소프트웨어로 내보내는 것입니다. 소규모 사업자의 직접 개발과 구매 비교에서 이 결정을 자세히 다룹니다.
Mythex로 만들기
Mythex에서는 채팅으로 인보이싱 앱을 설명하고, 실시간 미리보기에서 앱이 만들어지는 과정을 볼 수 있습니다. 앱이 필요로 하면 데이터베이스를 추가하고, Stripe 시크릿 같은 API 키는 프로젝트 시크릿에 보관하며, 앱을 바로 사용할 수 있는 URL로 배포합니다. 문서의 Stripe 레시피에 직접 키를 가져오는 설정이 나와 있습니다. 기본 내용을 이미 담은 프롬프트로 시작하고 싶다면 인보이스 생성기나 프리랜서 인보이싱 템플릿을 사용해 보세요.
자주 묻는 질문
인보이싱 앱에는 어떤 기능이 필요한가요?
고객 목록, 품목 항목과 세금, 합계가 있는 인보이스, 중복되지 않는 연속 인보이스 번호, PDF 또는 공유 가능한 인보이스 페이지, 그리고 인보이스별 상태(임시저장, 발송, 결제 완료, 연체)가 필요합니다. 온라인 결제와 독촉 알림은 그다음에 추가하면 가장 유용합니다.
인보이싱 앱으로 카드 결제를 받을 수 있나요?
네. Stripe 같은 결제 제공자를 통해 가능합니다. 앱이 인보이스 금액에 맞는 결제 링크나 결제 페이지를 만들고, 결제가 성공하면 제공자의 웹훅이 인보이스를 결제 완료로 표시합니다.
직접 만든 인보이싱 앱을 써도 법적으로 괜찮나요?
일반적으로는 괜찮습니다. 하지만 인보이스에는 판매자 정보, 세금 번호, 날짜, 세액 내역 등 나라마다 다른 법적 기재 사항이 있고, 일부 국가는 정해진 형식의 전자 세금계산서를 요구합니다. 의존하기 전에 회계사에게 자신에게 무엇이 적용되는지 확인하세요.
인보이싱 앱을 직접 만들어야 하나요, 아니면 회계 소프트웨어를 써야 하나요?
장부 기록, 세금 신고, 은행 거래 대사가 필요하다면 회계 소프트웨어를 쓰세요. 인보이싱이 업무 방식(작업, 근무 시간표, 프로젝트)과 묶여 있거나 좌석당 요금 없이 간단한 도구를 원한다면 직접 만드세요.