rs-waybill
Integrate with the Georgian Revenue Service (RS.GE) Electronic Waybill SOAP web service. Use this skill when working with waybill creation, activation, closing, querying, goods management, transporter operations, invoices, templates, bar codes, car numbers, and all RS.GE WayBillService API methods.
SKILL.md
| Name | rs-waybill |
| Description | Integrate with the Georgian Revenue Service (RS.GE) Electronic Waybill SOAP web service. Use this skill when working with waybill creation, activation, closing, querying, goods management, transporter operations, invoices, templates, bar codes, car numbers, and all RS.GE WayBillService API methods. |
name: rs-waybill description: Integrate with the Georgian Revenue Service (RS.GE) Electronic Waybill SOAP web service. Use this skill when working with waybill creation, activation, closing, querying, goods management, transporter operations, invoices, templates, bar codes, car numbers, and all RS.GE WayBillService API methods.
RS.GE Electronic Waybill Service Integration
Service Overview
This skill provides integration with the Georgian Revenue Service (RS.GE) Electronic Waybill (ელექტრონული ზედნადები) SOAP Web Service.
- WSDL/Endpoint:
https://services.rs.ge/WayBillService/WayBillService.asmx - Protocol: SOAP XML Web Service
- Authentication: Service user credentials (
su,sp) passed with every method call
Test Credentials
| Parameter | Account 1 | Account 2 |
|---|---|---|
| Username (su) | tbilisi | satesto2 |
| Password (sp) | 123456 | 123456 |
| TIN (tax ID) | 206322102 | 12345678910 |
Waybill Types
| ID | Type |
|---|---|
| 1 | Internal transfer (შიდა გადაზიდვა) |
| 2 | Delivery with transportation (მიწოდება ტრანსპორტირებით) |
| 3 | Delivery without transportation (მიწოდება ტრანსპორტირების გარეშე) |
| 4 | Distribution - main waybill with sub-waybills (დისტრიბუცია) |
| 5 | Goods return (საქონლის უკან დაბრუნება) |
| 6 | Sub-waybill (ქვე-ზედნადები) |
CRITICAL: Type-Specific Field Requirements
Type 1 - Internal Transfer (შიდა გადაზიდვა)
BUYER_TINmust be empty- Driver info required for transport types
Type 2 - Delivery (მიწოდება)
START_ADDRESS: RequiredEND_ADDRESS: RequiredDRIVER_TIN: Required (11 digits, or setCHEK_DRIVER_TIN=0for foreigner)DRIVER_NAME: RequiredCAR_NUMBER: Required (format:AA123BB, no dashes!)TRANS_ID: 1 (automobile) or other valid transport type
Type 3 - Without Transport (ტრანსპორტირების გარეშე) ⚠️
CRITICAL: These fields MUST be EMPTY - otherwise RS.ge returns misleading errors!
START_ADDRESS:""(empty!)END_ADDRESS:""(empty!)DRIVER_TIN:""DRIVER_NAME:""CAR_NUMBER:""TRANS_ID:0
WARNING: If addresses are provided for Type 3, RS.ge returns error -1036 "Invalid unit" which is completely misleading! The actual problem is the non-empty addresses.
Type 6 - Sub-waybill (ქვე-ზედნადები)
PAR_ID: Required - must specify parent waybill ID
Valid Unit IDs
| ID | Name | Note |
|---|---|---|
| 1 | ცალი (Piece) | |
| 2 | კგ (Kilogram) | |
| 3 | გრამი (Gram) | |
| 4 | ლიტრი (Liter) | |
| 5 | ტონა (Ton) | |
| 7 | სანტიმეტრი | |
| 8 | მეტრი (Meter) | |
| 9 | კილომეტრი | |
| 10 | კვ.სმ | |
| 11 | კვ.მ (Sq Meter) | |
| 12 | მ³ (Cubic Meter) | |
| 13 | მილილიტრი | |
| 14 | შეკვრა (Package) | |
| 99 | სხვა (Other) | Requires UNIT_TXT |
Note: Unit ID 6 does NOT exist!
Valid Transport Type IDs
| ID | Name |
|---|---|
| 1 | საავტომობილო (Automobile) |
| 2 | სარკინიგზო (Railway) |
| 3 | საავიაციო (Aviation) |
| 4 | სხვა (Other) - requires TRANS_TXT |
| 6 | საავტომობილო - უცხო ქვეყნის (Foreign) |
| 7 | გადამზიდავი (Carrier) |
| 8 | მოპედი/მოტოციკლი |
Car Number Format
Georgian plates must be in format AA123BB (no dashes). Examples:
- Correct:
AA123BB,TT999ZZ - Wrong:
AA-123-BB,aa123bb
Common Error Codes and Solutions
| Code | Meaning | Solution |
|---|---|---|
| -1005 | Buyer TIN not found | Check TIN or set CHEK_BUYER_TIN=0 |
| -1012 | Driver info required | Add driver_tin, driver_name |
| -1014 | Invalid driver TIN | Check TIN or set CHEK_DRIVER_TIN=0 |
| -1026 | Invalid car number | Use format AA123BB (no dashes) |
| -1035 | Buyer TIN must be empty | For Type 1, clear buyer_tin |
| -1036 | Invalid unit | Often misleading! For Type 3, check that addresses are EMPTY |
| -1037 | TRANS_TXT required | Set trans_txt when trans_id=4 |
| -2006 | Invalid goods status | Set goods STATUS=1 (not 0) |
Waybill Statuses
| Code | Status |
|---|---|
| 0 | Saved (შენახული) |
| 1 | Activated (აქტიური) |
| 2 | Completed/Closed (დასრულებული) |
| 8 | Sent to transporter (გადამზიდავთან გადაგზავნილი) |
| -1 | Deleted (წაშლილი) |
| -2 | Cancelled (გაუქმებული) |
Workflow
- Create/Save waybill with
save_waybill(status=0) - Activate with
send_waybillorsend_waybill_vd(status=1, gets unique number) - Close/Complete with
close_waybillorclose_waybill_vd(status=2) - Optionally cancel with
ref_waybillor delete withdel_waybill - Optionally create invoice with
save_invoice
For transporter flow: seller sends to transporter -> transporter fills fields with save_waybill_transporter -> activates with send_waybill_transporter -> closes with close_waybill_transporter.
Implementation Guidelines
When implementing RS Waybill integration:
- All methods require
suandsp(service username and password) as the first two parameters. - XML format: The service uses XML nodes for complex data structures (waybills, goods lists, wood documents).
- Date format: Use ISO format
yyyy-MM-ddTHH:mm:ss(e.g.,2024-10-07T12:08:47). - Status filter format: Comma-delimited with leading/trailing commas for single status:
,1,for one status,,1,2,for multiple. - Error handling: Check
STATUSin response XML. Negative values indicate errors. Useget_error_codesto get error descriptions. - CATEGORY field: Empty or
0= normal,1= wood/timber. - IS_MED field: Empty or
0= normal,1= medication. - CHEK_BUYER_TIN / CHEK_DRIVER_TIN:
0= foreigner,1= Georgian citizen. - TRAN_COST_PAYER:
1= buyer pays,2= seller pays. - VAT_TYPE:
0= normal,1= zero-rated,2= non-taxable.
For full API method signatures and XML structures, see the reference document: references/api-methods.md