전자세금계산서 API 연동 - Java, SpringMVC
2019년 5월 **쇼핑의 내부 관리자 시스템에 전자세금계산서 기능을 추가했던 작업 기록이다.
시스템은 CentOS 6.8에 Java 1.8 환경이었고 Outbound에 대한 방화벽을 사용하고 있었다.
우선 사전미팅 때 클라이언트 실무자들의 요구사항은
- 일일 세금계산서 대량발행 처리 - 최소 1,000건 (자정시간에 자동으로)
- 공급받는자 거래처의 휴폐업 조회 - 가능하다면..
- 국세청 승인번호 DB에 추가
**쇼핑에서는 스*** 서비스를 이용하여 전자세금계산서를 처리하고 있었지만, 내부 관리자 시스템에 연동할 수 없는 상황에서 발생하는 불편함이 많아져 내부시스템에 연동 가능한 서비스를 요청하였다.
서비스를 제공하는 많은 업체들이 있었고 추가적인 검토 사항은
- Restful API 지원여부
- Maven 을 통한 Library 관리여부
- TLS 통신여부
- 응답속도
- SpringMVC 에서 검증된 서비스.
Maven Repository로 Library가 지속적으로 관리되지 않은 서비스를 제외했더니 한 업체밖에 후보에 남지 않았다.
해당 업체 기술지원센터에서 몇가지 사항들을 점검하고 최종적으로 팝빌(popbill)이라는 API 서비스를 선택하였다.
Java - SpringMVC SDK 샘플코드는 모두 공개되어 있으며, github을 통해 코드가 유지관리 되고 있었다.
https://github.com/linkhub-sdk/popbill.example.springMVC
아래 코드는 예제로 제공되는 세금계산서 신고 기능관련 코드이다. 세금계산서 클래스 멤버변수에 작성할 값을 넣고 함수호출만 해주면 끝난다.. 단순하다. (직접 구현한 코드는 보안상의 이유로 게시할 수 없어 예제코드를 대신한다)
Maven을 통해 SDK가 배포되기 때문에 pom.xml에 Dependency만 추가해주면 된다.
전자세금계산서 기능을 Java Library로 제공하는 업체가 몇군데 없기 때문에 선택지가 많지 않지만, 지속적으로 관리되고 있지 않은 코드들을 믿고 쓸수 없기에 최종선택하였고, 기능 도입을 준비중인 개발자라면, 한번쯤 문을 두드려 보는 것도 나쁘지 않을 것 같다. 아래는 예제코드 다운로드 링크이다.
https://www.popbill.com/Content/SDK