Agency CRM
기획사 CRM
업무를 진행시키는 도구보다, 이미 한 일을 기록할 도구가 필요했다.
출발점과 담당 범위
사내 업무 시스템 · 제품 재설계
맡은 범위
업무 모델과 제안·계약·정산·일정 화면, 라우트·DB·역할별 권한을 구축했습니다. 배포 후 사용자 피드백을 받아 기록과 승인 여정을 재설계했습니다.
시작할 때의 상태
신규 사내 CRM입니다.
개발 범위 · 기술 · 협업 자세히 읽기
시작할 때의 상태
신규 사내 CRM입니다. 초기 Next.js·PostgreSQL판의 업무 모델을 유지하되, 실제 공유호스팅 환경에 맞춰 PHP·MySQL로 재구축했습니다. 외주 서비스 인수 사례는 아닙니다.
작업 개요
전화와 메신저에서 합의된 일을 CRM 안에서 다시 여러 단계로 진행해야 했습니다. 현업의 기록 방식에 맞춰 홈과 캠페인·정산 흐름을 다시 만들면서, 돈의 승인과 집행 권한은 유지했습니다.
개발·개선 범위
- 제안·캠페인·계약·정산·일정 업무 모델
- 홈의 빠른 기록·역할별 오늘 할 일
- 화면·라우트·DB와 공유호스팅 배포
- 역할·모듈·담당 대상의 접근 범위
- 입금 확인·지급 승인·집행과 감사 기록
- 사용한 기술
- PHP 8 · MySQL · Server-rendered UI · Docker
기존 자산 · 외부 서비스 · AI 활용
회사 내부 업무를 바탕으로 설계하고 AI 코딩 도구와 함께 구현했습니다. 현업의 피드백으로 초기 가정을 수정했으며, 초기 시스템의 업무 모델과 호스팅 제약을 함께 반영했습니다.
제품 화면과 구조 요약
문제 해결
기능을 더하기 전에, 처음의 업무 가정을 버렸다
- 통화·메신저 합의
업무는 CRM 밖에서도 이미 진행됨
- 바로 기록
홈에서 기록하거나 캠페인을 직접 생성
- 역할별 다음 일
읽을 수 있는 현황과 수행 가능한 행동을 구분
- 정산 전용 화면
입금·승인·집행은 각각의 권한으로 수행
문제
담당자는 통화 후 결정된 내용을 남기고 싶었는데, 시스템은 제안 생성과 견적·수락 등 선행 절차를 요구했습니다.
바꾼 점
홈의 빠른 기록, 캠페인 직접 생성, 오늘 처리할 일과 정산 연결을 우선했습니다.
확인한 것
재설계 계획의 후행 완료표와 구현 커밋, 정산 생성·새 캠페인의 여정 확인을 대조했습니다.
조사·판단·검증 과정 읽기
마주한 문제
담당자는 통화 후 결정된 내용을 남기고 싶었는데, 시스템은 제안 생성과 견적·수락 등 선행 절차를 요구했습니다. 기능이 존재해도 실제 업무를 기록하기 어려운 구조였습니다.
확인한 과정
현업이 일을 진행하는 장소와 CRM이 필요한 순간을 다시 확인했습니다. 정산 생성 API로 가는 버튼이 없고, 같은 대상을 서로 다른 이름으로 부르며, 완료 후 다음 화면으로 갈 길도 끊겨 있었습니다.
선택한 방법
홈의 빠른 기록, 캠페인 직접 생성, 오늘 처리할 일과 정산 연결을 우선했습니다. 용어를 제안·캠페인과 받을 돈·쓸 돈으로 정리하고, 화면뿐 아니라 라우트와 선행 조건도 함께 바꿨습니다.
어떻게 확인했는가
재설계 계획의 후행 완료표와 구현 커밋, 정산 생성·새 캠페인의 여정 확인을 대조했습니다. 페이지 응답 여부에 더해 실제 다음 행동으로 이동할 수 있는지 확인한 기록을 남겼습니다.
단계별 처리와 경계
통화·메신저 합의
업무는 CRM 밖에서도 이미 진행됨
바로 기록
홈에서 기록하거나 캠페인을 직접 생성
역할별 다음 일
읽을 수 있는 현황과 수행 가능한 행동을 구분
정산 전용 화면
입금·승인·집행은 각각의 권한으로 수행
문제 해결
화면을 간단하게 만들어도, 승인까지 건너뛸 수는 없다
문제
홈에 빠른 행동과 정산 신호를 추가하면서, 읽기만 가능한 역할에게 실행 버튼이 보이거나 편의 기능이 돈 관련 쓰기 권한을 우회할 여지가 생겼습니다.
바꾼 점
홈은 기록과 안내를 담당하고 입금 확정·지급 승인·집행은 권한이 구분된 전용 화면에 남겼습니다.
확인한 것
역할별 후행 검토에서 발견한 잘못된 버튼 노출과 쓰기 경로를 수정한 기록이 있습니다.
조사·판단·검증 과정 읽기
마주한 문제
홈에 빠른 행동과 정산 신호를 추가하면서, 읽기만 가능한 역할에게 실행 버튼이 보이거나 편의 기능이 돈 관련 쓰기 권한을 우회할 여지가 생겼습니다.
확인한 과정
메뉴 접근 여부만 보지 않고 역할별 행동 권한과 담당 대상의 조회 조건을 함께 확인했습니다. 홈에서 노출하는 버튼과 연결된 서버 동작도 같은 범위를 지키는지 대조했습니다.
선택한 방법
홈은 기록과 안내를 담당하고 입금 확정·지급 승인·집행은 권한이 구분된 전용 화면에 남겼습니다. 역할별 버튼을 조정하면서 본인 승인 제한과 감사 이력도 유지했습니다.
어떻게 확인했는가
역할별 후행 검토에서 발견한 잘못된 버튼 노출과 쓰기 경로를 수정한 기록이 있습니다. 홈 신호를 만드는 코드의 모듈 읽기 조건과 정산 라우트 연결을 함께 확인했습니다.
결과와 현재의 경계
결과, 그리고 지금.
선행 단계를 거치지 않아도 기록·캠페인 생성을 시작할 수 있게 바꾸고, 끊겨 있던 정산 생성과 다음 화면을 연결했습니다. 편의 기능과 돈 관련 실행 권한을 구분한 채 여정을 단순화했습니다.
구현과 당시 화면·여정 확인 기록을 근거로 합니다. 사용률이나 업무시간 절감은 측정하지 않았으며, 모든 로컬 후속 변경이 운영에 반영됐다고 단정하지 않습니다.
작성 기준: 2026년 9월 작업 기록·소스 대조. 과거 검증 결과를 현재의 모든 동작에 대한 보증으로 사용하지 않습니다.
역할과 협업 이야기하기