Flexprice
고객 한 명을 감당하는 비용이 실제로 발생하는 제품을 위한 오픈소스 사용량 계측·크레딧·청구 계층. 자체 호스팅이 가능하고, 결제 사업자를 대체하는 대신 그 옆에 놓이도록 설계됨
Flexprice는 사용량 기반, 크레딧 기반, 그리고 그 혼합 과금을 위한 오픈소스 청구 계층입니다. Go로 작성되었고 라이선스는 AGPL-3.0이며 더 작은 엔터프라이즈 부분만 상용 라이선스입니다. 사용 이벤트를 실시간으로 계측하고, 선불 또는 프로모션 크레딧을 적용하며, 요금제별 기능 한도를 강제하고, 실제로 소비된 양에서 인보이스를 생성합니다. 결제 사업자를 대체하는 것이 아니라 그 위에 얹히도록 설계되어, 체크아웃이 아니라 계측과 가격 로직의 계층입니다.
Flexprice란 무엇인가
Flexprice는 자체 호스팅하거나 개발사의 호스팅 제품으로 쓸 수 있는 Go 서비스입니다. 저장소는 github.com/flexprice/flexprice입니다. 애플리케이션에서 Go, Python, JavaScript SDK로 사용 이벤트를 보내거나 데이터 웨어하우스나 분석 파이프라인에서 흘려보내면, Flexprice가 집계하고 고객의 가격 규칙과 크레딧을 적용해 인보이스를 만듭니다. 저장소는 2024년 11월부터 개발이 이어지고 있고 AGPL-3.0으로 공개되며, 저작권은 호스팅 버전도 판매하는 비상장 기업에 있습니다.
프로젝트가 스스로에 대해 내세우는 주장은, 청구가 조용히 개발의 문제가 되었다는 것입니다. 구독 도구는 단순한 요금제는 잘 처리하지만 그 너머 — 계측, 크레딧 잔액, 기능 접근 제어, 맞춤 인보이스 로직 — 는 결국 누군가 영원히 유지보수하는 애플리케이션 코드가 됩니다. 문서화된 기능 구성도 그 논리를 따릅니다. 이벤트 단위의 사용량 계측, 임계값 자동 충전과 만료 규칙을 갖춘 선불·프로모션 크레딧 지급, 좌석 기반·종량제·물량 구간·혼합형을 아우르며 고객별 예외와 요금제 버전 관리를 지원하는 가격 플랜, 사용 한도를 동반한 기능 권한 관리, 그리고 일할 계산과 초과분을 다루는 인보이싱입니다. 결제, CRM, 회계 도구와는 바깥으로 연결될 뿐 그것들을 겸하지는 않습니다.
청구하려면 먼저 기록해야 하는 것
모든 과금 형태에는 대응하는 계측이 있고, 창업자가 건너뛰는 쪽은 계측입니다. 각 형태가 데이터에 무엇을 요구하는지 구체적으로 볼 값어치가 있습니다. 틀렸을 때의 비용은 잘못된 인보이스가 아니라, 다시는 복원할 수 없는 한 달이기 때문입니다.
| 과금 형태 | 계측이 기록해야 하는 것 | 없으면 무엇이 깨지는가 |
|---|---|---|
| 정액 구독 | 누가 어느 요금제에 있고 언제 옮겼는지 | 거의 깨지지 않음. 계측이 거의 없어도 성립하는 유일한 형태 |
| 좌석 기반 | 오늘의 좌석 수가 아니라 시간에 따른 좌석 수 | 주기 중간의 변경이 잘못 청구되고, 분쟁 대응 인건비가 매출보다 커짐 |
| 종량제 | 모든 과금 대상 이벤트를 고객에 귀속시키고 발생 시각까지 | "내 청구서가 왜 이 금액인가"에 답할 수 없고, 버그 수정 후 한 달치를 다시 계산할 수도 없음 |
| 선불 크레딧 | 고객별 잔액과 모든 차감 및 그 사유 | 잔액이 실제와 어긋나고, 지원팀은 고객의 말을 믿을 수밖에 없음 |
| 기본 제공량과 초과 | 소진한 제공량과 초과분을 별개의 숫자로 | 경계가 보이지 않아 넘기 전에 아무도 알릴 수 없고, 넘을 때마다 불시의 청구가 됨 |
가운데 열을 위에서 아래로 읽으면 이런 도구를 일찍 살펴볼 이유가 분명해집니다. 청구가 어려워서가 아닙니다. 계측만이 소급해서 덧붙일 수 없는 유일한 부분이기 때문입니다. 가격은 다음 분기에 바꿀 수 있습니다. 지난 분기의 이벤트는 있거나 없거나 둘 중 하나입니다.
배포 전에 볼 라이선스와 호스팅
저장소의 LICENSE 파일은 AGPL-3.0이고, README는 오픈코어 방식을 설명합니다. 핵심은 AGPLv3이고 ee 및 internal/ee 디렉터리 아래의 더 작은 엔터프라이즈 부분이 별도의 상용 라이선스를 답니다. 그 디렉터리들은 트리에 실제로 존재하므로, 계획이 특정 기능에 달려 있다면 그 위에 만들기 전에 어느 쪽 선에 있는지 확인하는 편이 좋습니다. 자기 고객에게 청구하려고 직접 돌리는 경우라면 AGPL은 특별할 것이 없습니다. 이해해 둘 조항은 네트워크 조항으로, 내려받지 않고 네트워크 너머로 소프트웨어를 쓰는 사람에게까지 미칩니다. 수정한 Flexprice를 제3자에게 서비스로 제공하는 경우라면 혼자 따지기보다 변호사에게 가져갈 사안입니다.
운영 측면에서는 작은 컨테이너 하나로 끝나지 않습니다. 저장소 자체의 토픽에 PostgreSQL, ClickHouse, Kafka, Temporal이 올라 있고 로컬 설치는 compose 스택으로 뜹니다. 대량 이벤트를 안정적으로 집계해야 하는 물건으로는 적정하고, 정액 요금제 고객이 마흔 곳인 제품에는 과합니다. 또한 완성품이 아니라 활발히 개발 중입니다. v2.1.23이 2026-08-05에 공개되었고 2026-08-14에도 청구와 CRM 연동을 포함한 기능 커밋이 들어오고 있었습니다. 프로젝트에는 좋은 신호이고 당신에게는 실제 부담입니다. 자체 호스팅하는 청구 시스템은 한 번 배포하고 끝나는 것이 아니라 계속 업데이트하는 것이기 때문입니다.
필요해지기 전에 계측을 만들어라
우리는 자체 플랫폼에서 고객별 모델 사용액을 계측하고 있고, 전할 만한 이야기는 계측이 얼마나 조용히 실패하는가입니다. 우리 계측은 첫 몇 주 동안 서로 다른 결함을 세 번 냈지만 어느 것도 오류를 일으키지 않았습니다. 수집기는 런타임이 명시적으로 요청받을 때만 갱신하는 캐시를 읽고 있어서 원장은 그냥 비어 있었습니다. 그것을 고치자 이번에는 메인 에이전트의 사용량만 수집해, 각 전문 역할의 사용액이 0으로 기록되었습니다. 숫자가 가장 중요한, 가장 무겁게 쓰는 계정을 정확히 과소 집계하는 방식이었습니다. 게다가 행을 날짜와 모델로만 식별했기 때문에, 재시작된 컨테이너의 부분적인 시야가 저장된 합계를 덮어쓸 수 있었고 한 번은 한 행을 수만 토큰만큼 되돌렸습니다.
패턴 자체가 교훈입니다. 그 결함들은 모두 더 작은 숫자를 만들었고, 더 작은 숫자는 좋은 소식처럼 보이므로 아무도 확인할 이유를 갖지 못했습니다. 계측에는 오류가 났을 때만이 아니라 과소 보고할 때 실패하는 테스트가 필요합니다. 우리의 해법은 행의 동일성에 그 행을 만든 세션을 포함시키는 것이었고, 그래서 부분적인 시야가 완전한 시야를 더는 덮어쓸 수 없습니다. 고객당 비용이 실재하는 제품 — 대부분의 AI 제품이 그렇습니다 — 의 가격을 정한다면, Flexprice를 도입하든 스무 줄을 직접 짜든 순서는 같습니다. 먼저 재고, 그다음에 값을 매기세요. 너무 높게 잡은 가격은 다음 달에 내릴 수 있습니다. 한 번도 재지 않은 분기는 돌아오지 않고, 어떤 고객이 비쌌는지도 말할 수 없습니다.
FAQ
- Flexprice가 Stripe를 대체하나요?
- 아니고, 프로젝트도 그렇게 내세우지 않습니다. 스스로를 조합 가능한 것으로 설명합니다. 기존 결제 제공자 위에 얹히는 계측·크레딧·가격 로직 계층이며, 만들어진 인보이스와 매출 데이터를 이미 쓰고 있는 시스템으로 내보냅니다. 돈을 받는 결제 사업자와 카드 및 이의 제기를 처리할 방법은 여전히 필요합니다. 자리를 옮기는 것은 얼마를 청구할지 정하는 부분뿐입니다.
- Flexprice는 무료인가요?
- 저장소는 AGPL-3.0이고 자체 호스팅이 가능해 라이선스 비용 없이 돌릴 수 있습니다. 다만 넘겨짚지 말고 직접 확인할 점이 둘 있습니다. README는 ee와 internal/ee 디렉터리의 더 작은 엔터프라이즈 부분이 상용 라이선스인 오픈코어 방식을 설명하고, 개발사는 호스팅 버전도 판매합니다. 자체 호스팅은 라이선스료가 없을 뿐 인프라와 업데이트 작업까지 공짜인 것은 아닙니다.
- 처음부터 이런 청구 시스템이 필요한가요?
- 서비스로서는 아마 필요 없습니다. 거의 확실히 필요한 것은 그 밑에 깔린 이벤트 로그입니다. 가장 값싼 실용 판본은 누가 무엇을 언제 했고 그것이 당신에게 얼마의 비용이었는지를 기록하는 추가 전용 테이블 하나이며, 가격에 대한 질문이 생기기 전인 첫날부터 쓰기 시작하는 것입니다. 나중에 계측 플랫폼으로 옮기는 것은 평범한 마이그레이션입니다. 기록하지 않은 사용량을 나중에 복원하는 일만은 아예 불가능합니다.
- AGPL 라이선스는 우리 SaaS에 무엇을 뜻하나요?
- 자체 인프라에서 Flexprice를 돌려 자기 고객에게 청구하는 것은 평범한 경우이고 특별할 것이 없습니다. AGPL을 GPL과 가르는 것은 네트워크 조항입니다. 수정 사항을 공개할 의무가, 사본을 받은 사람뿐 아니라 네트워크 너머로 소프트웨어에 닿는 사람에게까지 확장됩니다. 수정해서 서비스의 일부로 제3자에게 제공할 계획이라면 그것은 변호사에게 물을 문제입니다. 이것은 라이선스에 대한 설명이지 법률 자문이 아닙니다.
- Flexprice를 자체 호스팅하면 실제로 얼마나 드나요?
- 컨테이너 하나보다는 큽니다. 프로젝트 자체의 토픽에 PostgreSQL, ClickHouse, Kafka, Temporal이 올라 있고 저장소에는 로컬 개발용 compose 파일이 있으니, 현실적인 구성은 관리형 데이터베이스에 상태를 가진 서비스 몇 개입니다. 여기에 잦은 릴리스가 더해집니다. 저장소는 2026년 8월 중순에도 기능 커밋을 넣고 있었고, 이는 뒤처지면 곤란한 시스템을 계속 업데이트하는 습관이 필요하다는 뜻입니다.
You built it. Now grow it.
AgentCeres is a managed AI marketing team — specialists draft the SEO, social, and outreach that fill your links, you approve what ships. 14-day free trial, from $39/month.