What's new in nPoles
The last year of nPoles, in plain language.
Updated 14.09.2026.
Headline and notable changes from the last 6 months.
September 2026
Import
Conductor strings that clash on Insert File are asked about
nPoles 1.4.185
When points are inserted from another job and a conductor string in that file uses a number the job already has with a different definition, a box shows what the job has and what the file has, how they differ, and asks: take the file's string under a suggested new number, with the inserted points moved onto it, replace the job's definition with the file's, or keep the job's. The file's conductor and chart used to be dropped without a word.
Import
Only the strings the inserted points carry
nPoles 1.4.184
Insert File used to bring the whole conductor-string list of the job it read, leaving dozens of strings to delete one by one - and deleting one still carried by the copied points left its circuits drawn on the plan while the string was gone from every list. By default the insert now brings only the strings the inserted points actually carry, with Every string in the file an option beside it. In String Properties, Delete says how many points carry the string before it goes, and Delete Unused lists and removes every string no point carries in one go.
Point Edit
Name your point strings
nPoles 1.4.183
The word String beside the string number in Point Edit is now a link: click it and a small box takes a name for that string - William St, kerb, road edge, the pole line - and the box's underlined word lists every string in the job with its name. The name belongs to the string, so every point on it shares it, and it shows wherever the string number does: the string boxes in Point Edit and the Add Point dialogs, the Surveying Calculator's points table and its new String box beside the description code, Clearances Check, the plan view's point description and the tooltip on the string's line. The same link sits beside the string number in the plan view's Add Point dialog and the boundary dialogs. Design > Point String Names lists them all for editing in place. Saved in the job file; nPoles Field mini shows and edits the same names.
Point Edit
Total station reads land in every circuit and every box
nPoles 1.4.183
Circuits 17 to 24 now take total station readings exactly like 1 to 16: the crossarm height, the three insulator boxes, the three offset boxes and the remark, for a reflectorless read and for a height from the vertical angle. A reflectorless read taken with an offset box selected fills that side's insulator height and offset from the one shot, and the centre conductor offset now carries its side, negative to the left of the line and positive to the right. The boxes that turn green for a stored observation keep the User Settings font, and every job's conductor strings start with Not Active and 0 - Non String on every circuit.
Outdoors
Marks you can read in daylight
nPoles 1.4.183
Radio buttons and tick boxes throughout nPoles are now solid, high-contrast marks: a filled dark disc or square when on, a light one with a dark outline when off, and a little larger. Windows draws them as thin grey rings, which vanish on a tablet screen in sunlight. Everything else keeps the Windows look.
Import
Import LandXML keeps the controller's strings
nPoles 1.4.183
A controller's LandXML carries no string numbers, so every imported point used to arrive on string 0. When the controller's text export sits beside the .xml under the same name, its string numbers now go onto the matching points; and when the file's strings are numbers the job already uses, nPoles offers to renumber the file's strings to the next free numbers so the lines stay apart. A recorded air temperature of zero or below now reaches the job file, and Import Poles no longer carries the previous job's special stringing charts into the new one.
Survey Properties
The job follows its address
nPoles 1.4.183
An address looked up now names the electricity distributor whose area its postcode is in and the settings profile that is, and a survey with no points yet is switched to that profile on OK. Addresses in Czechia, Estonia, the United Kingdom, Poland, Portugal, Belgium, Luxembourg and Sweden choose ETRS89 on UTM like the other European countries; a grid without zones clears the zone field; accepting the suggested datum sets the scale factor to follow the grid; and a job with no points frames on its address every time.
Basemaps
Maps for twelve more countries, live boundaries for three
nPoles 1.4.183
National maps and aerial imagery for Austria, the Netherlands, France, Spain, Germany, Norway, Czechia, Estonia, the United States, Japan, Argentina and Singapore, each measured against the publisher's live service; Finland and Great Britain against your own free key, and New Zealand aerial imagery now against your own LINZ key. Property boundaries served live for the Netherlands, France and Estonia with the Dutch survey marks, and the Layers menu says plainly what is published where the job is and why a layer is empty.
Company data
Company data updates keep your edits
nPoles 1.4.182
A company data update no longer overwrites the databases and settings profiles a business has edited. nPoles brings the new data in file by file on its next start: new files arrive, untouched files are brought up to date with the old copy kept, and an edited pole, crossarm, insulator, transformer, description-code, timber-species or abbreviation database is merged record by record so your changes and the new shipped entries both survive. Settings profiles merge the same way, field by field, so a shipped profile change now reaches every install for the first time. nPoles says once where the previous data was kept, and warns when the company data installed is older than the program.
Plan view
Draw buildings off the aerial image, and the view stays put
nPoles 1.4.182
A description code can shade a footprint: a house drawn as a rectangle on the aerial image fills as one shape with an outline, in the colour, pattern, opacity and line width set in the Description Code editor, and an edit saved there shows at once. The drawing tools show the string number a shape goes on, a spacing of 0 keeps only the corners, and a Snap to points tick lets corners land exactly where you click. The view stays where you left it as points are added or edited, a job frames on its survey when opened, and Zoom to survey brings the whole job back.
Plan view
Draw, add and level points on the map
nPoles 1.4.181
The plan view gains a tool box: measure (now with area), line, arc, circle, rectangle and square tools that generate surveyed points along a shape, on a bearing where the work needs it, with a reduced level looked up for each point as it is made. Right-click blank map space for Add Point Here, with the ground level found from the state's elevation model or contours - Victoria, New South Wales and Queensland, and Switzerland's terrain model - and Point Edit's Spatial tab has a Look Up RL button for any point. The map can be panned and zoomed 50 km around the job, and the basemap stays exactly on its ground.
Undo
Undo for point changes
nPoles 1.4.181
An Undo button on the toolbar reverses point-changing actions across nPoles - edits, clones, deletions, point-number swaps, file imports, points added from the map, and whole-survey coordinate changes from Transform Datum, Tie to Control and Re-base Survey - with a history of recent actions that shows exactly what undoing each one will change before it is undone.
Going international
Switzerland
nPoles 1.4.181
nPoles now works on Swiss jobs end to end. Coordinates are on the LV95 national grid, and GNSS heights are reduced with swisstopo's CHGeo2004 geoid onto whichever height datum the job is set to — LN02, still the official frame and what published fixed-point heights are on, or the modern LHN95, which differ by up to half a metre with elevation. The plan view draws all 32,125 published Swiss fixed points, with heights on 96 per cent of them, as a 13 MB download. A canton's own cadastral survey can be added as well — property boundaries and the communal fixed points that are the marks actually found in a street. The plan view can also draw swisstopo's own maps underneath: the national map in colour or grey, the topographic map, 10 cm aerial imagery, and the 1946 national photograph, which shows a route as the ground was before most of what stands on it now.
Map layers
Add map data you are licensed for
nPoles 1.4.181
Some survey and cadastral registers are licensed to the surveyor rather than to nPoles, so they cannot be supplied with it — Landgate's Western Australian data, and the Swiss cantons that require a login. Download the GeoPackage under your own licence and add it through Layers, Map Data, and it draws like any other layer. The file stays where you keep it: nPoles neither copies it nor sends it anywhere. Map Data also shows every dataset nPoles can draw, where each came from, and whether its file is on the machine.
Survey Properties
Set up a job anywhere in the world from its address
nPoles 1.4.182
Looking up an address now works out the country and offers its national datum and zone, while the datum box itself stays the Australia and New Zealand list; a datum chosen this way appears only while the job is on it. Italy, Germany, the Netherlands, Denmark, Finland, Norway, France, Spain and Austria come on ETRS89, Switzerland on CH1903+, Ireland and South Africa on their grids. Built for nPoles Field mini's wider audience, and it works the same on the desktop.
Basemaps
The map sits exactly where the ground is
nPoles 1.4.182
Map tiles are now placed on the survey grid corner by corner, so an aerial image no longer sits slightly off the points or shifts after the view is rebuilt. Show Map switches to a source that covers the job when the one last chosen does not, and the Australian credit lines lose a stray character.
GNSS surveying
Your own base station, and the check that catches a wrong one
nPoles 1.4.181
Corrections can come from your own base receiver instead of an NTRIP caster, for work beyond mobile coverage. The corrections line now says where the corrections come from, how far away the base is and how old they are, and a Base button in the Surveying Calculator compares what the base is transmitting with the position it ought to be on, so a base left running on yesterday's coordinate - which shifts every point in the job by the same amount and looks perfect - is caught. Re-base Survey moves a job onto the right coordinate afterwards.
Chart Finder
Phases strung separately
nPoles 1.4.181
Chart Finder shows every phase recorded on a conductor string - a vertical or delta construction kept as one string - with each phase's own sag, tension and closest chart, and can split the phases into their own strings linked as a phase set. Clearances Check then measures the phase-to-phase separation between them from each string's own tension.
Reliability
nPoles notices when it crashes
nPoles 1.4.181
A crash writes a capture file and the next start asks once whether to send a report to nPoles, so the fault can be fixed. Nothing is sent without OK. Every message box can also now have its text selected and copied, so an error can be pasted into an email instead of photographed.
Clearances
Every circuit on the pole is checked
nPoles 1.4.181
nPoles has offered 24 circuits per pole for some time, but Clearances Check still looked a conductor string up on only the first 16 when working out its heights, and Pole Load on the first 20. A string recorded on a higher circuit came back with no heights, so its ground, circuit, phase, object and uplift checks were quietly skipped with no row and no warning, and Pole Load found no span for it. All of these now cover every circuit. A circuit carrying only a centre insulator height, a single wire on a pole-top pin, is also now checked at its true conductor height rather than at the attachment. In the Clearances Check dialog, the height boxes for circuits 17 to 24 now show and save heights; they showed 0 and dropped edits before. The same sweep then covered Chart Finder, Individual Span, Setting MES, Standards Parameters, the conductor and joint-use schedules, temporary points in the Surveying Calculator and String Properties, so a string on any circuit up to 24 is found everywhere.
Point editing
nPoles always opens on a connected screen
nPoles 1.4.181
The Point Edit dialog remembers where it was last shown. A tablet that had it on a second or third office monitor put it at the same place out in the field, where there is no screen, so it opened out of sight - and because it must be answered before anything else, nPoles appeared to freeze every time a height was read. The dialog now checks that its remembered position is on a screen that is actually connected each time it opens, from the points list, the Surveying Calculator, Pole Load or Clearances alike, and comes back onto the screen it was opened from when its own is gone. It is never left larger than the screen or hanging off its edge with the buttons out of reach. A dialog kept on a second monitor that is still connected stays there. The main window is checked the same way, so a tablet undocked from an office monitor no longer starts with nPoles on the taskbar but nowhere to be seen, and a window closed maximised comes back maximised rather than as a window the size of the old monitor.
Map layers
Choose the basemap
nPoles 1.4.181
The map drawn under the survey can now be chosen from Layers, Map Source, rather than being fixed at OpenStreetMap. A map that covers only one country is offered only where the job actually is, so the list stays short. Each provider keeps its own tile cache, so switching back finds what was already downloaded rather than fetching it again.
August 2026
Registration
Registration through work firewalls
nPoles 1.4.180
Registering now works from behind company firewalls and proxies: nPoles first uses an ordinary secure web connection — the same kind a browser makes, through the system proxy where one is configured — and only falls back to the classic direct connection if that fails. When a network blocks everything, the new Manual Activation finishes the job with a code from any phone or browser: scan the QR code nPoles shows, receive a short activation code on screen and by email, and type it in. The computer being activated needs no internet at all.
Point editing
Reflectorless reads keep the full 3D position
nPoles 1.4.180
A reflectorless read on a cross-arm, stay or conductor now stores the shot's full easting, northing and level with the job, not just its height. Heights measured this way show with a light green background, a long press pops up the stored coordinates, and shooting a wire fills in both the insulator height and the conductor offset automatically once the pole face has been shot — in either order. Typing over a green field clears its stored shot, so the colour always tells the truth.
Reports
Job Change Report and point backups with notes
nPoles 1.4.180
A new Report menu entry lists every point and conductor string that has changed since its earliest backup — what moved, what was re-specified, and by how much — headed with the job, its location and who prepared it, and saved as PDF or spreadsheet. Backups themselves gain a note asked for at the moment they are made, and a Diff button beside each backup shows exactly what differs from the point as it now stands.
Point editing
Centre conductor, treated properly everywhere
nPoles 1.4.180
Circuit rows gain a Centre position alongside Left and Right — for the middle phase of a three-wire crossarm or a conductor on the pole's own centreline. A centre conductor carries through Pole Load's structural calculation, Clearances Check and all three 3D views, where a surveyed centre position is drawn exactly as recorded.
Point editing
Cycling through points no longer loses conductor strings
nPoles 1.4.180
Stepping through points with Edit Point's Next and Previous buttons could silently remove a conductor string that sat on different circuits of neighbouring points. The string lists are now rebuilt for every point shown, however the dialog is reached.
Pole database
Pole records with named sources and no gaps
nPoles 1.4.180
Every wood pole record now names the drawing its dimensions came from, visible in the Database Editor and in Pole Load's wind-load breakdown. The whole-metre lengths between the standard sizes — 10 through 19 metres — carry proper tip and ground-line diameters in every Victorian profile, and a handful of older records whose imperial dimensions were misread as metric now render at their correct thickness.
Devices
Linked devices
nPoles 1.4.180
File → Linked Devices pairs this computer with another nPoles install by typing a short code or scanning a QR code. Once paired, the open job can be pushed straight to a linked desktop — no USB stick, no emailing files — and nPoles states plainly whether the incoming copy is newer or older before anything is overwritten.
Updates
Shared data now updates with the app
nPoles 1.4.180
Adding a new nPoles version through the Maintenance Tool now also brings the shared company and regional data — pole types, crossarms, description codes — fully up to date. Previously only a completely fresh install saw current data, which is why a fix could appear not to have arrived.
Job files
Job files that survive anything
nPoles 1.4.180
Saving is now crash-proof: the new file is written completely and only then swapped over the old one, so a power loss, crash or full disk mid-save can no longer destroy a job — and a failed save says so instead of pretending. Job files also accept the full character set, stringing chart %MBL limits stop vanishing between sessions, and every file now states its format version and the EPSG code of its map grid so other software can identify the coordinate system at a glance. The same protection covers nPoles Field mini's save-after-every-point on the phone.
Surveying & datums
Tie a job to supplied control
nPoles 1.4.179
A job surveyed on a local datum can now be tied straight onto supplied coordinates: pick the job points the control belongs to, type the supplied values beside them, and apply the best-fit transformation — rotation, scale and shift fitted over every pair, with each mark's residual shown live so a wrong value stands out before anything moves. The classic hand-over problem, solved properly from the Spatial menu.
Surveying & datums
Mine grids as MGA references
nPoles 1.4.179
Local site grids that are really a rotated copy of MGA — the Latrobe Valley mine grids — are now first-class: pick the site in Survey Properties and scale factors compute at the true MGA position. Hazelwood and Loy Yang ship as presets, any other site grid can be defined from control pairs, reviewed, edited and saved for future jobs, and a GNSS localisation measured in the field can become a saved site grid in one press.
Point editing
Description codes that explain themselves
nPoles 1.4.179
The description code list now shows every code with its plan-view symbol and its meaning — wherever points are added or edited. The Database Editor gains a Description Codes tab with symbol previews and a printable symbol legend, and about forty code meanings per utility were recovered from the Victorian distributors' own drafting standards.
Data exchange
LandXML points in and out
nPoles 1.4.179
Surveys now travel by LandXML in both directions: import a controller's export — Topcon, Trimble, Leica, 12d — with numbers, codes, remarks and the coordinate system checked from the file's own metadata, and export design points the same way for stake out with any brand of field kit. Verified against real Topcon Field controller files.
Pole load
Pole wind loads match the published tables
nPoles 1.4.179
The pole database was audited against the utilities' published figures: two silent zero wind loads were traced to miscatalogued records and corrected, the complete Dulhunty Titan range is now present with its calculated loads verified against AusNet's published wind loads, and when a wood pole's variant is unknown the calculation now uses the typical catalogue record — matching the published tables — with a worst-case option in User Settings. The wind-load breakdown names the exact record used.
Plan view
The tap menu shows which point it means
nPoles 1.4.179
With several points under one tap, hovering an entry in the chooser now rings that point out in the plan — and the menu opens beside the tap instead of on top of it. On a touch screen the highlight appears as soon as an entry opens, so identical description codes can finally be told apart.
Field tablets
Survey Properties fits the tablet screen
nPoles 1.4.179
Survey Properties now fits an 800-pixel-high screen — the field tablets' height — with a compact pop-up calendar in place of the always-open one and its buttons never pushed below the bottom of the screen.
Databases
One Database Editor, abbreviations included
nPoles 1.4.179
The pole structure editor has outgrown its name — it is now simply the Database Editor, covering poles, crossarms, insulators, timber species, transformers, description codes and a new per-utility registry of standard plan abbreviations seeded from the distributors' drafting standards.
GNSS surveying
Survey with a GNSS receiver
nPoles 1.4.178
Live GNSS has arrived: connect an RTK receiver over the network or Bluetooth, feed it corrections over NTRIP with the free caster networks preset, and accept fixed positions straight into the job — with stake out, site calibration onto local coordinates, short-occupation averaging and heights on real AHD. A total station is no longer the only way to survey with nPoles.
Coordinates
Ground coordinates for title work
nPoles 1.4.178
Survey Properties can nominate an origin mark and nPoles then shows ground coordinates scaled about it — in the points list, the point editor, the Measure tool and the CAD exports — exactly the way a field controller's grid-to-ground switch works. The job file stays on the grid, and every exported drawing now states its coordinate basis.
Going international
New Zealand, Ireland, South Africa and the world's UTM zones
nPoles 1.4.178
Jobs can now be surveyed on NZGD2000 with full New Zealand map layers, on Ireland's ITM grid, on South Africa's LO system, and on plain WGS84 UTM zones north or south of the equator — the modern grids of much of Asia and Africa.
Plan view
Lasso map data into the survey
nPoles 1.4.178
Drag a loop around an area and everything inside it from the layers switched on — survey marks, cadastral corners, property and road boundaries — is offered for adding to the survey in bulk, with counts and description codes to review before anything lands.
Pole Load
Species selection now truly changes the wind load
nPoles 1.4.178
A long-standing fault silently ignored the timber species when sizing a metric wood pole's diameter, always using the largest available — understating the difference between an Ironbark and a Radiata Pine pole by about 25% on a typical 11 m pole. The species picked now genuinely drives the pole's wind load.
Point editor
The point editor reorganised
nPoles 1.4.178
The tabs now say what they hold: Spatial Data is purely the survey point — the datum named, a live latitude/longitude and scale-factor panel, and the GNSS observation quality — while a new Plant / Equipment tab gathers the sub-station, switchgear, brackets and extra loads.
Coordinates
AGD66 and AGD84 conversions fixed
nPoles 1.4.178
Converting an old-datum job to GDA94 or GDA2020 now transforms every point with the correct grid shifts — previously only the first point moved. A point outside the grid's coverage stops the conversion with the point named and the job left untouched.
Plan view
Measure anything on the plan
nPoles 1.4.176
A Measure button chains taps into a run with every leg labelled — distance, grid bearing, height difference and running total — snapping to survey points, marks, spans and boundaries, or measuring to any spot on the street map.
Chart Finder
Insulator heights read from either column
nPoles 1.4.176
The insulator height on a pole is taken from whichever column was recorded — a right-only insulator no longer vanishes from the observed-sag calculation — and when the recorded left and right heights disagree, the pole is named so the records can be checked.
Map layers
Map layers across Australia
nPoles 1.4.175
The survey marks and property boundary layers now cover New South Wales, Queensland, South Australia, Tasmania and the ACT alongside Victoria — nearly 700,000 survey marks in all. nPoles picks the right state's data from where the survey is, and a job near a border shows both sides at once.
Coordinates
GDA94 and GDA2020, transformed properly
nPoles 1.4.175
Surveys transform between GDA94 and GDA2020 in both directions using the official ICSM transformation grid — centimetre level, Australia-wide — so data supplied in one datum can be delivered in the other.
Installing
Every version side by side, in one folder
nPoles 1.4.174
One nPoles folder now holds every installed version, ticked on and off in a single maintenance tool. Data, settings, registration and the map datasets are shared, so updating never re-downloads or loses anything — and an old version stays installed for old jobs.
Map layers
Victorian survey marks and cadastre on the plan
nPoles 1.4.173
The plan view can draw the state's survey control marks (SMES) — with each mark's sketch plan and full report a tap away, readable offline once opened — plus property boundaries, road casements, street names, cadastral corner accuracy, contours and the coastline. Marks, corners and boundary lines can be added straight into the job as survey points.
Point editor
Adjust every height when the ground level changes
nPoles 1.4.172
Changing a pole's reduced level can now shift every recorded attachment height with it — circuits, stays, transformer, and any tee-offs sharing the location — with a before-and-after table to accept and a backup taken first.
Stringing charts
Chart plots straight into CAD
nPoles 1.4.172
The sag and condition plots export as an AutoCAD script that needs almost no clean-up — coloured layers, labelled curves, a legend and the chart notes — or as a FreeCAD macro that rebuilds the chart as native objects.
July 2026
Plan view
The street map under the survey
nPoles 1.4.171
An OpenStreetMap basemap can be drawn beneath the survey points, cached so it still shows without an internet connection, with a Street View button to look at any spot from the road. A job can also be started from a street address, framing the plan before a single point is read.
Pole Load
Timber pole strength from the timber itself
nPoles 1.4.171
A timber pole's rating now follows its species and measured dimensions: the strength group, surveyed girth and diameters drive the short- and long-duration strengths, the deflection limit and the AS/NZS 7000 limit-state capacity — in place of fixed factors.
Job safety
Rebuild a job from its survey log
nPoles 1.4.170
If a project file is ever lost or corrupted, File → Import can rebuild the job from its survey log. An optional setting logs the complete job on every save, so even conductors, stays and pole data can be recovered.
Clearances
Strings marked REMOVE stay out of the checks
nPoles 1.4.170
Conductor strings whose status is Remove are now left out of the clearance checks and reports, the same way pole loading already treats them — with a setting to include them when needed.
Clearances
Planned surface levels are checked
nPoles 1.4.170
Objects recorded below the surveyed surface — a road or rail cut yet to happen — are now checked, and a point flagged as a finished surface level reports both the clearance today and the clearance to the new level.
Reports
Describe Point
nPoles 1.4.170
A new Spatial tool reports where any point sits in the network — the poles either side, the span length, its distance along and offset from the line, or a full pole datasheet — stamped, copyable and savable as a PDF.
June 2026
Pole Load
Design Stress ratings corrected
nPoles 1.4.169
Under Design Stress the reduced pole strength is now the pole's ultimate strength reduced by its strength reduction factor. The previous method could halve the rating and overstate utilisation — ratings and percentages are corrected.
Pole Load
Wind load itemised, and overridable
nPoles 1.4.169
The wind load now shows its full breakdown — pole shaft, crossarms, insulators, extra weight and transformer — and a manual table can override any of it or add custom items such as antennae, flagged plainly in the reports.
Pole Load
Transformer wind load
nPoles 1.4.168
The wind on a pole-mounted transformer can now be included per design method, and the transformer itself is a tick box on the point — untick it to model a removal while keeping its details on record.
Assistant
Ask the nPoles Assistant
nPoles 1.4.165
An in-app assistant (Shift+F1) answers questions from the reference manual with its sources shown, and can look at the open job — how many poles, where point 72 is, what conductor runs where — pointing at the plan view as it answers.
Chart Finder
Messenger charts for bundled cables
nPoles 1.4.165
Create Chart From Average now produces correct messenger charts for CATV, Hendrix, spacer and lashed-service bundles — previously the messenger chart came out about 8% over-tight.
May 2026
Pole Load
Footing strength, three ways
nPoles 1.4.163
The footing calculator now offers the SECV / Devereaux method and the Brinch Hansen (ENA C(b)1) method in single-soil and layered forms, with a per-pole soil profile editor for geotechnical report data and a help window explaining every symbol.
April 2026
Licensing
One installer for every licence
nPoles 1.4.154
A single installer now serves Field, Desktop, PPE and Tiny licences — the licence key decides the product, and the licence server's record is authoritative.
3D views
Inspect and measure in the 3D views
nPoles 1.4.153
Click any object in a 3D view to see its real properties — pole dimensions, crossarm code, conductor, stay wire — with every value tagged as surveyed, from the database or estimated; and measure between any two points with the vertical and horizontal components shown.
March 2026
Field use
An on-screen keyboard built for the field
nPoles 1.4.150
A virtual keyboard made for gloved hands and bright sun: numeric, compact and full layouts with the degree and diameter symbols surveying needs, working on every kind of field — spinboxes, bearings and dropdowns included — without the Windows touch keyboard fighting it.
The complete change log — every release, every fix — is at
npoles.com/changelog.html.
Licences and renewals are on the customer portal.