| name | marangatu-navigation |
| description | Complete guide for navigating Marangatu portal (Paraguay tax system). Covers login, AngularJS sidebar navigation, form field mapping, invoice emission, and error recovery. Used by browser automation agents. |
Marangatu Navigation Guide
Portal Architecture
- URL: https://marangatu.set.gov.py/eset/
- Tech: AngularJS SPA — sidebar items use
ng-click="vm.opcion(item.aplicacion)"
- Browser: Uses Playwright MCP with built-in Chromium
- Requirement: VPN may be needed from some countries
Login Flow
- Navigate to https://marangatu.set.gov.py/
- Fill RUC field (
#usuario) with value from .user/.env MARANGATU_RUC
- Fill password field (
#clave) with value from .user/.env MARANGATU_PASS
- Click login button
- Wait for dashboard to load (sidebar appears)
- Verify: take
browser_snapshot to confirm successful login
Sidebar Navigation
The sidebar uses AngularJS. Items must be clicked by their TEXT content, not CSS selectors.
Key menu items:
- "Declaraciones Juradas Y Pagos" → "Presentar Declaración"
- "Facturacion Y Timbrado" → "Gestion Comprobantes Virtuales" → "Factura Virtual" / "Emitir Factura Virtual"
- "Registro De Compras Y Ventas Irpc" → "Registrar Comprobantes"
Navigation pattern:
- Click parent menu item (text match)
- Wait 500ms for submenu animation
- Click child item (text match)
- Wait for content panel to load
- Take
browser_snapshot to verify correct page loaded
Automation Tips
- Always use
browser_snapshot before interacting with any element
- AngularJS selects: use
browser_select_option with the value attribute
- For
select[name="anio"] — there are TWO selects with this name (system bug): index [0] = year, index [1] = month
- After filling form fields, wait 200ms for AngularJS digest cycle
- If session expires: navigate back to login URL and re-authenticate
- If menu doesn't respond: try
browser_snapshot first, then retry click
Error Recovery
| Error | Recovery |
|---|
| Session expired | Navigate to login URL, re-authenticate |
| Menu not responding | Take snapshot, retry after 1s |
| Form field not found | Take snapshot, verify correct page loaded |
| VPN disconnected | Alert user — cannot proceed without VPN |
| Unexpected dialog | Take screenshot, report to user |
For complete CSS selectors and form field IDs, see selectors.md in this skill directory.