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_TIN must be empty
- Driver info required for transport types
Type 2 - Delivery (მიწოდება)
START_ADDRESS: Required
END_ADDRESS: Required
DRIVER_TIN: Required (11 digits, or set CHEK_DRIVER_TIN=0 for foreigner)
DRIVER_NAME: Required
CAR_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_waybill or send_waybill_vd (status=1, gets unique number)
- Close/Complete with
close_waybill or close_waybill_vd (status=2)
- Optionally cancel with
ref_waybill or delete with del_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
su and sp (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
STATUS in response XML. Negative values indicate errors. Use get_error_codes to 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
1---2name: rs-waybill3description: 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.4---56# RS.GE Electronic Waybill Service Integration78## Service Overview910This skill provides integration with the Georgian Revenue Service (RS.GE) Electronic Waybill (ელექტრონული ზედნადები) SOAP Web Service.1112- **WSDL/Endpoint**: `https://services.rs.ge/WayBillService/WayBillService.asmx`13- **Protocol**: SOAP XML Web Service14- **Authentication**: Service user credentials (`su`, `sp`) passed with every method call1516### Test Credentials1718| Parameter | Account 1 | Account 2 |19|-----------|-----------|-----------|20| Username (su) | `tbilisi` | `satesto2` |21| Password (sp) | `123456` | `123456` |22| TIN (tax ID) | `206322102` | `12345678910` |2324## Waybill Types2526| ID | Type |27|----|------|28| 1 | Internal transfer (შიდა გადაზიდვა) |29| 2 | Delivery with transportation (მიწოდება ტრანსპორტირებით) |30| 3 | Delivery without transportation (მიწოდება ტრანსპორტირების გარეშე) |31| 4 | Distribution - main waybill with sub-waybills (დისტრიბუცია) |32| 5 | Goods return (საქონლის უკან დაბრუნება) |33| 6 | Sub-waybill (ქვე-ზედნადები) |3435## CRITICAL: Type-Specific Field Requirements3637### Type 1 - Internal Transfer (შიდა გადაზიდვა)38- `BUYER_TIN` must be **empty**39- Driver info required for transport types4041### Type 2 - Delivery (მიწოდება)42- `START_ADDRESS`: Required43- `END_ADDRESS`: Required44- `DRIVER_TIN`: Required (11 digits, or set `CHEK_DRIVER_TIN=0` for foreigner)45- `DRIVER_NAME`: Required46- `CAR_NUMBER`: Required (format: `AA123BB`, no dashes!)47- `TRANS_ID`: 1 (automobile) or other valid transport type4849### Type 3 - Without Transport (ტრანსპორტირების გარეშე) ⚠️50**CRITICAL**: These fields MUST be EMPTY - otherwise RS.ge returns misleading errors!51- `START_ADDRESS`: `""` (empty!)52- `END_ADDRESS`: `""` (empty!)53- `DRIVER_TIN`: `""`54- `DRIVER_NAME`: `""`55- `CAR_NUMBER`: `""`56- `TRANS_ID`: `0`5758**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.5960### Type 6 - Sub-waybill (ქვე-ზედნადები)61- `PAR_ID`: Required - must specify parent waybill ID6263## Valid Unit IDs64| ID | Name | Note |65|----|------|------|66| 1 | ცალი (Piece) | |67| 2 | კგ (Kilogram) | |68| 3 | გრამი (Gram) | |69| 4 | ლიტრი (Liter) | |70| 5 | ტონა (Ton) | |71| 7 | სანტიმეტრი | |72| 8 | მეტრი (Meter) | |73| 9 | კილომეტრი | |74| 10 | კვ.სმ | |75| 11 | კვ.მ (Sq Meter) | |76| 12 | მ³ (Cubic Meter) | |77| 13 | მილილიტრი | |78| 14 | შეკვრა (Package) | |79| 99 | სხვა (Other) | Requires `UNIT_TXT` |8081**Note**: Unit ID 6 does NOT exist!8283## Valid Transport Type IDs84| ID | Name |85|----|------|86| 1 | საავტომობილო (Automobile) |87| 2 | სარკინიგზო (Railway) |88| 3 | საავიაციო (Aviation) |89| 4 | სხვა (Other) - requires `TRANS_TXT` |90| 6 | საავტომობილო - უცხო ქვეყნის (Foreign) |91| 7 | გადამზიდავი (Carrier) |92| 8 | მოპედი/მოტოციკლი |9394## Car Number Format95Georgian plates must be in format `AA123BB` (no dashes). Examples:96- Correct: `AA123BB`, `TT999ZZ`97- Wrong: `AA-123-BB`, `aa123bb`9899## Common Error Codes and Solutions100| Code | Meaning | Solution |101|------|---------|----------|102| -1005 | Buyer TIN not found | Check TIN or set `CHEK_BUYER_TIN=0` |103| -1012 | Driver info required | Add `driver_tin`, `driver_name` |104| -1014 | Invalid driver TIN | Check TIN or set `CHEK_DRIVER_TIN=0` |105| -1026 | Invalid car number | Use format `AA123BB` (no dashes) |106| -1035 | Buyer TIN must be empty | For Type 1, clear `buyer_tin` |107| -1036 | Invalid unit | **Often misleading!** For Type 3, check that addresses are EMPTY |108| -1037 | TRANS_TXT required | Set `trans_txt` when `trans_id=4` |109| -2006 | Invalid goods status | Set goods `STATUS=1` (not 0) |110111## Waybill Statuses112113| Code | Status |114|------|--------|115| 0 | Saved (შენახული) |116| 1 | Activated (აქტიური) |117| 2 | Completed/Closed (დასრულებული) |118| 8 | Sent to transporter (გადამზიდავთან გადაგზავნილი) |119| -1 | Deleted (წაშლილი) |120| -2 | Cancelled (გაუქმებული) |121122## Workflow1231241. **Create/Save** waybill with `save_waybill` (status=0)1252. **Activate** with `send_waybill` or `send_waybill_vd` (status=1, gets unique number)1263. **Close/Complete** with `close_waybill` or `close_waybill_vd` (status=2)1274. Optionally **cancel** with `ref_waybill` or **delete** with `del_waybill`1285. Optionally **create invoice** with `save_invoice`129130For transporter flow: seller sends to transporter -> transporter fills fields with `save_waybill_transporter` -> activates with `send_waybill_transporter` -> closes with `close_waybill_transporter`.131132## Implementation Guidelines133134When implementing RS Waybill integration:1351361. **All methods require `su` and `sp`** (service username and password) as the first two parameters.1372. **XML format**: The service uses XML nodes for complex data structures (waybills, goods lists, wood documents).1383. **Date format**: Use ISO format `yyyy-MM-ddTHH:mm:ss` (e.g., `2024-10-07T12:08:47`).1394. **Status filter format**: Comma-delimited with leading/trailing commas for single status: `,1,` for one status, `,1,2,` for multiple.1405. **Error handling**: Check `STATUS` in response XML. Negative values indicate errors. Use `get_error_codes` to get error descriptions.1416. **CATEGORY field**: Empty or `0` = normal, `1` = wood/timber.1427. **IS_MED field**: Empty or `0` = normal, `1` = medication.1438. **CHEK_BUYER_TIN / CHEK_DRIVER_TIN**: `0` = foreigner, `1` = Georgian citizen.1449. **TRAN_COST_PAYER**: `1` = buyer pays, `2` = seller pays.14510. **VAT_TYPE**: `0` = normal, `1` = zero-rated, `2` = non-taxable.146147For full API method signatures and XML structures, see the reference document: `references/api-methods.md`