물류 분야에서는 정말 다양한 시스템을 사용한다. 최종적으로, 고객에게 주문한 상품을 건내주는 B2C 형태로 많이 가기도 하지만, 기업간의 거래인 B2B 프로그램 개발 형태로도 많이 가기도 한다. 이 중에서, 다이렉트로 고객에게 상품을 배송하는게 아닌 각 지역 별로 점포나 지점을 두어 그 점포 또는 지점에서 고객에게 판매하는 형태인 경우도 굉장히 많다. 예를 들어, 우리가 인테리어를 할 때 개인이 직접 물류 센터에 방문하여 물건이 구매하는 게 아닌 집 근처 또는 지점에 연락을 하여 장판, 샤시 등을 구매하니 말이다.
WMS나 MES, WCS 등은 물류 센터 또는 생산 공장의 관리에 대부분 사용하지만, 고객에게 물품 구매 및 물품 구매에 따른 부가적인 서비스를 제공하기 위해 포털 시스템을 제공해야 한다. 그 중에서, 물품 구매에 따른 간편한 세금계산서 발행을 위한 API 서비스인 바로빌 전자 세금 계산서 API 연동 서비스 사용 방법에 대한 글을 기록한다.
바로빌 API 서비스란?
바로빌 API 서비스는 전자 세금 계산서 발행 기능과 연동 API를 제공한다. 대부분 물류 포털 시스템에서는 구매와 더불어 전자세금계산서 기능도 필요하는데 바로빌 전자 세금 계산서 API 연동 서비스로 전자세금계산서 발행 기능을 추가로 넣을 수 있다.
바로빌 API 서비스 종류
바로빌 API 서비스 종류는 아래와 같이 다양하게 있다. 근데 거의 대부분은 전자 세금 계산서 발행 API를 많이 사용을 한다. 물류의 B2B 거래에서는 현금 거래가 없기 때문에 현금영수증 관련 API보다 전자 세금 계산서를 통한 회계 관리가 대부분 이루어진다. 그래서, 물류 솔루션에서는 B2B 프로그램 개발이 거의 대부분이고, 전자 세금 계산서도 이에 적용이 된다.
전자 세금 계산서의 발행 방법은 정발행, 역발행, 위수탁발급으로 총 3가지가 있으며, 이 방법에 따라 API 가이드는 바로빌 API 개발자 센터에서 API 사용 방법 및 프로세스 등을 제공하고 있으니 참고를 하면 된다.
추가적으로, 바로빌 개발자 센터에 접속하여 상단에 [샘플 다운로드]를 들어가면 다양한 언어의 샘플소스를 다운로드 받을 수 있다.
지원 언어
1. Java
2. .NET Framework
3. Python
4. Node.js
5. PowerBuilder
6. Delphi
7. PHP
8. ASP
9. Visual Basic
10. 기타언어(HTTP 통신이 가능한 모든 언어)
여기서, 주로 사용하는 Python을 사용하려고 한다.
바로빌 전자세금계산서 API 연동 서비스 사용하기
0. 사전 고려 사항
1. 공급자 바로빌 가입 여부 - 가입되어야 함
2. 바로빌에 공동인증서 등록 여부 - 등록되어야 함
1. 회원가입
1) 바로빌 개발자센터에 접속하여 회원가입을 진행한다.
2) 위에서 설명한 바로빌 개발자센터 상단 샘플소스에서 각 언어별 API 가이드를 선택해서 참고하면 된다.
2. API 개발 전 환경설정하기
1) 모듈 설치
SOAP 기능이 포함되어 있는 Zeep 모듈을 설치한다.
pip install Zeep
2) 각 언어별 샘플소스 다운로드 받기
2. 전자세금계산서 발행
먼저, 전자 세금 계산서와 관련된 것은 아래의 가이드에서 확인할 수 있다. 전자 세금 계산서는 개인 고객보다는 B2B 프로그램 개발에 적용하여 많이 사용하곤 한다.
문서서비스 API 레퍼런스 - 세금계산서 API | 바로빌 개발자센터 (barobill.co.kr)
1) 정발급 프로세스 - 간편발급
2) 정발급 프로세스 - 임시저장 후 발급
임시저장 후 발급 프로세스에서는 임시저장 성공 후 발급에 실패하면 재처리 로직을 개발해야 한다.
위의 Pyhton 샘플 소스 다운로드를 하고, 전자 세금 계산서 정발급 중 발급 완료를 하는 RegistAndIssueTaxInvoice.py를 보자.
RegistAndIssueTaxInvoice.py
전자 세금 계산서 발행을 위한 API인데, 해당 taxInvoice에 다양한 파라미터를 요구한다. 이렇게 보면 각 파라미터의 용어들을 모를 수 있는데 아래의 URL에서 각 API들에서 사용되는 파라미터들을 볼 수 있다.
문서서비스 API 레퍼런스 - 세금계산서 API | 바로빌 개발자센터 (barobill.co.kr)
result 리턴 결과가 음수면 호출 실패고, 1이면 API 호출 성공으로 예외 처리를 할 수 있다.
if result < 0: # 호출 실패
print(result)
else: # 호출 성공
print(result)
여기서, 각 전자 세금 계산서 API 연동 가이드는 바로빌 개발자센터에서 제공을 하고 있으니 API 개발 시 손쉽게 할 수 있다.
from zeep import Client
barobillTaxInvoiceClient = Client("https://testws.baroservice.com/TI.asmx?WSDL")
barobillFaxClient = Client("https://testws.baroservice.com/FAX.asmx?WSDL")
# 세금계산서 저장
result1 = barobillTaxInvoiceClient.service.RegistTaxInvoice( ... )
# 팩스 전송
result2 = barobillFaxClient.service.SendFaxFromFTP( ... )
print(result1)
print(result2)
위의 코드는 Python 기반 API에 대한 예제 코드인데, 이 코드를 실행하면 아래와 같이, 결과에 대한 리턴 값을 준다.
위의 경우는 에러가 발생한 경우인데, API 통신이 성공하면 1, 실패하면 음수를 리턴한다.
실패한 음수 리턴 코드는 5자리로 관리가 되고 있는데, 바로빌 개발자센터의 에러 코드 가이드 홈페이지에서 확인할 수 있다.
기본 오류 코드를 시작으로, 연동정보 관련, 회원정보 관련, 과금, 문서 서비스, 계산서 관련 등의 에러코드를 자세하게 기록되어 있으니 에러가 발생할 때 참고를 하면 된다. 위의 코드에서 보여주는 -10001 오류코드는 "해당 인증키와 연결된 연계사가 아닙니다."라는 내용을 확인할 수 있다.
바로빌 API 서비스 비용
타사 API 서비스를 사용할 때 확인해야 할 것이 바로 비용이다. 개발자 입장에서도 비용은 어느 정도 파악하고 있어야 사용에 대한 품의를 작성할 수 있으니 말이다.
바로빌 전자 세금 계산서 API 연동 서비스의 비용은 단지 사용에 대한 비용만 지불하면 된다. 도입비, 연동비, 기술지원, 유지비 등에 대한 비용은 무료라고 한다. 거기에, 서비스를 많이 사용할수록 할인율이 올라간다고 하니 최근에 구매한 인텔리제이 라이센스처럼 거의 비슷한 정책을 가지고 있다.
전자 세금 계산서 API 연동에 관한 내용은 아래의 URL에서도 더 자세하게 확인할 수 있다.
문서서비스 API 레퍼런스 - 세금계산서 API | 바로빌 개발자센터 (barobill.co.kr)
바로빌 측에서 소정의 원고료를 지급받아 작성된 글입니다.
'IT > 기타' 카테고리의 다른 글
FlexSim 솔루션 트레이닝 센터 아카데미 교육 후기 (0) | 2024.07.05 |
---|---|
Windows 10에서 OAK-D Pro W 설치 및 연동하는 방법(Depthai Viewer) (0) | 2024.06.27 |
Windows10에서 스테레오랩스(stereolabs) ZED2i SDK 및 Python API 설치하는 방법 (0) | 2024.06.26 |
[블렌더] Windows10에 블렌더(Blender) 설치하는 방법 (0) | 2024.04.02 |
웹사이트에서 비밀번호 Hash 문제 (0) | 2021.10.26 |
IBATIS/XML 동적 태그 정리 (0) | 2021.10.07 |
[Ibatis]XML에서 <isNotEmpty> 태그 사용하는 방법 (0) | 2021.10.06 |
이더넷의 IP 구성이 올바르지 않습니다. 해결 방법 (4) | 2020.02.21 |
최근댓글