---
title: "Tank Management System (TMS): What It Does | Citia"
description: "A tank management system (TMS) turns ATG readings into standard volume, stock and tank tickets. See the data flow, ticket fields and ATG vs TMS vs TAS."
url: https://citia-engineering.com/en/knowledge/tank-management-system-explained
language: en
updated: 2026-11-13
type: article
site: Citia Engineering Indonesia
---

# What is a tank management system? From level readings to tank tickets and stock

A tank management system (TMS) collects ATG data from every tank, calculates standard volume, records stock movements and issues tank tickets.

| Field | Value |
| --- | --- |
| Topic | Tank Farm & Inventory |
| Author | Tim Engineering Citia |
| Updated | 2026-11-13 |

Key takeaways

A tank management system (TMS) is an application that collects ATG data from every tank, calculates standard volume, records stock movements and issues tank tickets for receipts, deliveries and closing stock.

The automatic tank gauge (ATG) answers how high the product stands in one tank. The TMS answers the questions a terminal manager asks every morning: how much product the terminal holds, what came in, what went out and whether the figures agree. It does this by combining gauge readings with each tank's configuration and calibration table.

Citia INTEGRA TMS is Citia's TMS. It reads level, temperature and volume from the ATGs through a gateway, keeps live and historical data in an SQL database, issues tank tickets and posts physical inventory to SAP. The sections below describe how any TMS works, using that system as the reference example.

- A tank management system (TMS) collects readings from the automatic tank gauges on every tank and turns them into standard volume and stock records.
- A tank ticket records the opening and closing measurement of a tank movement, with level, water, temperature and density, so the quantity can be checked later.
- The ATG measures, the TMS calculates and records, and a terminal automation system (TAS) controls truck loading; each system owns a different part of terminal data.
- A good TMS shows when a reading is stale and keeps physical inventory separate from ownership and customs balances.

## What a TMS does in a fuel terminal

In plain terms, a TMS is the stock book of the tank farm, filled in automatically from the gauges instead of by hand.

The functions repeat across vendors. The TMS application walkthrough shows them on screen. A dashboard gives each tank's level in millimetres and temperature in °C. The configuration page holds product, height, diameter, tape and bob values. A tank ticket register carries a verification step, and a monitoring table lists volume, pumpable volume, ullage and flow rate. Manual entry of water level and density is allowed where the gauge does not measure them.

The design choice that matters most is which values are measured and which are typed in. Every manual field needs a name, a time and a reason in the record, because those fields are where disputes start.

- Live tank view: Level, temperature and status for every tank, with the time of the last reading.
- History: Stored readings for trends, audits and investigations.
- Tank tickets: Opening and closing records for receipts and deliveries, verified and printable.
- Tank configuration: Product, dimensions, calibration table and manual values per tank.
- Level alarms: High-high, high, low and low-low limits with operator acknowledgement.
- Stock posting: Physical inventory sent to the ERP, such as SAP.

## How data flows from the ATG to SAP

Data moves in one direction: from the gauge on the tank, through a gateway, into the TMS server, and on to the business system. The reverse direction is used only for configuration and specific commands, such as asking a servo gauge to find the water interface.

The gateway is the link people forget until it fails. It polls each gauge over the field protocol, often Modbus RTU on RS-485, and passes the values to the server network. If the gateway stops, every tank in the TMS freezes at its last value. The server stores live values and history, applies the tank tables and holds the tickets. Posting to SAP happens over the intranet once a ticket or stock figure is verified.

- ATG on each tank: Level, temperature and, where fitted, water and density.
- Industrial gateway: Polls the gauges and forwards readings with time and status.
- TMS server and database: Stores live values and history, applies tank tables.
- Tank ticket: Opening and closing measurement for each movement, verified by the operator.
- SAP or other ERP: Receives physical stock postings for the business records.

## What a tank ticket contains

A tank ticket is the signed record of one tank movement: what the tank held before, what it held after, and the conditions at both moments.

The fields follow the measurement chain. Level and water level give the observed volumes. Material temperature is the product temperature in the tank, while test temperature is the temperature at which the density sample was measured in the laboratory. Density and both temperatures together set the correction to standard volume. The ticket number, operation type (receipt, delivery or closing stock) and status tie the record to the operation it supports.

Verification is a step, not a formality. The Citia TMS gives each ticket separate edit and verify actions next to print and export. The point is that the figures sent onward are the ones someone has checked against the tank.

- Ticket number: Unique reference for audit
- Date and time: Moment of the measurement
- Operation type: Receipt, delivery or stock
- Level and water level: From the ATG or a manual dip
- Material and test temperature: Tank product and density sample
- Density: Laboratory or gauge value
- Status: Draft or verified

## How a TMS calculates stock

The TMS does not invent volume; it applies the same calculation a gauger would do on paper, every time a value changes.

API MPMS Chapter 12.1.1 sets out how static petroleum quantities in upright tanks are calculated, and it stresses that parties can only reconcile volumes if they start from the same capacity table, levels and temperatures. The TMS therefore needs the current tank calibration table for each tank and the correct volume correction factor for each product. A receipt or a delivery is the difference between the opening and closing standard volumes on the two tickets.

Because the calculation is automatic, a small configuration error repeats on every ticket. A wrong table or a density that was never updated shifts all figures in the same pattern, so configuration checks deserve the same schedule as gauge checks.

- Read the level: Take the ATG level, or the manual dip if the gauge is out of service.
- Look up the table: Convert the level to total observed volume with the tank calibration table.
- Remove free water: Subtract the water volume to get gross observed volume.
- Correct to 15 °C: Apply the volume correction factor from density and temperature to get gross standard volume.
- Close the movement: Subtract opening from closing standard volume and verify the ticket.

## ATG, TMS and TAS: who does what

Three systems touch tank data in a terminal, and confusing them leads to wrong expectations in a project scope. A common example: new gauges are expected to produce tank tickets on their own, when without a TMS and correct tables they only deliver levels.

The ATG is an instrument; it measures. The TMS is an application; it turns measurements into inventory. A terminal automation system (TAS) runs the distribution workflow from order to gate-out, including truck loading through meters and batch controllers. The TAS may read tank levels from the TMS, but it does not replace it. A longer explanation sits in TAS, TMS and TPS Integration compared .

When writing a project scope, name the system of record for each figure, for example the TMS for physical stock and the TAS for quantities loaded into trucks.

- What it is: Instrument on the tank | Inventory application | Distribution workflow system
- Main output: Level, temperature, water | Standard volume, tank tickets, stock | Loading orders, delivery notes, gate records
- Typical users: Instrument technicians | Tank farm and inventory staff | Dispatch and filling shed operators
- When it fails: No reading for one tank | Stock and tickets stop updating | Loading and gate processes stop

## When an ATG goes offline

A tank whose gauge has stopped talking still shows a number in many systems, and that number is the risk.

A stored value does not prove the device is still sending fresh data. The TMS should mark a reading stale once its time stamp ages past an agreed limit, raise a communication alarm, and block that value from new tickets. During the outage the operator switches the tank to manual dip entry, with the reason recorded. When the link returns, the first automatic reading is compared with a fresh dip before the tank goes back to automatic.

At the Jambi fuel terminal , a gateway fault cut tank data to the TMS until the unit was replaced and the RS-485 and Ethernet lines were protected against surges. The lesson recorded there applies widely: after any device replacement, run an end-to-end test from the ATG to the TMS screen. For mixed gauge fleets, see integrating ATGs from several brands .

- Flag the value: Mark the reading stale once its time stamp passes the agreed limit.
- Raise a communication alarm: Separate from process alarms, so the operator knows the data path failed.
- Switch to manual dips: Enter dips with the name, time and reason recorded.
- Repair and test end to end: Check the path from the gauge to the TMS screen after any replacement.
- Compare before resuming: Match the first automatic reading against a fresh dip.

## Field notes from Citia TMS projects

Two Citia projects show the parts of a TMS job that rarely appear in a brochure: testing inside a running facility and setting up user access.

The Cikampek tank-monitoring upgrade for Pertamina in 2025 integrated monitoring of level, pressure, temperature and tank status with facilities already in operation. Before integration, the team ran wiring verification, communication tests, loop checks, I/O tests and functional tests, under permit to work and job safety analysis. According to the project notes, verifying installation and configuration before commissioning cut troubleshooting time.

At the Redeco Petrolin chemical terminal , the TMS reads tank sensors over Modbus serial communication, raises high-high, high, low and low-low alarms with operator acknowledgement, and separates access by role for admin, operator and supervisor. Role separation matters for inventory: the person who edits a ticket should not be the only person who verifies it. Once tickets are reliable, the next step is loss reconciliation , comparing book stock with measured stock every day.

## Citia TMS records referenced here

- May 2025: Redeco Petrolin TMS note. Modbus tank monitoring at a chemical terminal.
- June 2025: TMS application walkthrough. Dashboard, configuration, tank tickets and monitoring.
- 2025: Cikampek tank monitoring. Integration with loop checks, I/O and functional tests.
- 2026: Jambi ATG gateway. Gateway replaced, surge protection added, end-to-end test.

## What to specify when buying a TMS

A TMS tender that only asks for a dashboard will get a dashboard. The useful specification describes the gauges, the documents and the rules the system must follow.

With these points written down, vendors price the same scope and the commissioning team has a clear finish line.

- Installed gauges. List every tank with gauge brand, model, interface and protocol, as the existing ATG integration checklist recommends.
- Calculation basis. Name the correction tables per product, the source of density, and who maintains the calibration tables.
- Documents. Attach the tank ticket format in use and the reports operations already signs.
- Data rules. State the stale-data limit, which fields may be entered by hand, and who verifies a ticket.
- Interfaces. Describe the ERP posting, the network path and any link to the TAS.
- Acceptance. Define the end-to-end tests per tank before go-live, including a comparison with manual dips.

## Terms used in this guide

Write the stale-data rule before go-live: Agree with operations how old a reading may be before the TMS greys it out, and who may enter a manual dip in its place. Settling this at commissioning avoids arguments the first time a gateway fails during a receipt.

- Tank ticket: Record of the opening and closing measurement of a tank movement, used to verify quantities.
- Pumpable volume: Part of the tank contents that can actually be pumped out above the minimum level.
- Ullage: Empty space above the liquid, shown in a TMS as the volume still available.
- Gross standard volume (GSV): Product volume corrected to 15 °C, used for stock and transfers.
- Gateway: Device that polls field instruments and passes their data to the server network.
- Stock posting: Sending a verified inventory figure from the TMS to the ERP.
- Stale value: A stored reading whose time stamp shows the device has not reported recently.

## Frequently asked questions

Q: What is the difference between a TMS and an ATG?

A: An ATG is the instrument that measures level on one tank, while a TMS is the application that collects all gauges and calculates stock. The TMS adds the calibration tables, the temperature correction, history and tank tickets that the gauge alone does not have.

Q: What is in a tank ticket?

A: A tank ticket holds the ticket number, date and time, operation type, level, water level, product and test temperature, density and status. Together these let anyone recalculate the standard volume of a receipt or delivery later.

Q: How does a TMS handle an ATG that is offline?

A: A TMS should flag the reading as stale, raise a communication alarm and let the operator enter a manual dip with a recorded reason. When the gauge returns, its first reading is checked against a fresh dip before automatic mode resumes.

Q: Does a TMS have to connect to SAP?

A: No, a TMS works on its own, but connecting it to SAP removes retyping of stock figures. Where the link exists, only verified tickets or stock figures should be posted, so the ERP receives values someone has checked.

Q: Is TMS stock the same as the TPS or ownership balance?

A: No, TMS stock is the physical quantity in the tanks, while TPS and ownership balances follow documents and transaction rules. They can be reconciled, but they are calculated on different bases and at different times.

Q: Can a TMS work with ATGs from different brands?

A: Yes, a TMS can read several brands if the gateway can speak each gauge protocol. INTEGRA TMS, for example, works with ATGs from Honeywell, Endress+Hauser and Tokyo Keiso, but each installed model still needs checking.

## Sources and further reading

1. Petroleum Measurement catalog: MPMS Chapters 3.1B, 11.1 and 12.1.1, American Petroleum Institute, 2025 (https://www.api.org/-/media/files/publications/2025-catalog/03_measurement_2025.pdf)
2. Modbus Specifications, Modbus Organization (https://www.modbus.org/modbus-specifications)
3. Citia INTEGRA TMS: Tank Management System, Citia (https://citia-engineering.com/en/products/tank-management-system)
4. TMS (Tank Management System) application walkthrough, Citia, 2025-06-30 (https://citia-engineering.com/en/news/tms-tank-management-system)
5. Cikampek tank-monitoring upgrade, Citia, 2025 (https://citia-engineering.com/en/projects/cikampek-tank-monitoring)
6. TAS, TMS and TPS Integration: what does each system manage?, Citia (https://citia-engineering.com/en/knowledge/tas-vs-tms-vs-tps)
7. Cover photo by Carl Young, CC BY-SA 4.0 (cropped and colour graded), Wikimedia Commons (https://commons.wikimedia.org/wiki/File:Refinery_Tanks_6.jpg)

Plan a TMS for your tank farm: Tell siTia, Citia’s WhatsApp assistant, how many tanks and which gauges you run, and the team will help scope the work.

## Contact

- Company: PT Citia Engineering Indonesia
- siTia - Virtual Assistance: [WhatsApp +62 813-2206-507](https://wa.me/628132206507). siTia answers questions about our products, projects and enquiries on WhatsApp. Replies are automated, and a person from the Citia team follows up.
- Email: services@citiaengineering.com
- Phone / WhatsApp (siTia): +62 813-2206-507
- Location: Bandung, Indonesia

[Contact Citia](https://citia-engineering.com/en/contact.md)

## Structured data (JSON-LD)

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://citia-engineering.com/#organization",
      "name": "Citia Engineering Indonesia",
      "legalName": "PT Citia Engineering Indonesia",
      "alternateName": "Citia",
      "url": "https://citia-engineering.com",
      "logo": {
        "@type": "ImageObject",
        "url": "https://citia-engineering.com/media/citia-logo.png",
        "width": 950,
        "height": 328
      },
      "description": "Citia is an engineering and system integration company in Bandung, Indonesia. We connect field devices, PLC and SCADA, terminal software and enterprise systems, then install, test and maintain them.",
      "email": "services@citiaengineering.com",
      "telephone": "+62 813-2206-507",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Bandung",
        "addressRegion": "Jawa Barat",
        "addressCountry": "ID"
      },
      "contactPoint": [
        {
          "@type": "ContactPoint",
          "contactType": "customer service",
          "email": "services@citiaengineering.com",
          "telephone": "+62 813-2206-507",
          "url": "https://citia-engineering.com/en/contact"
        },
        {
          "@type": "ContactPoint",
          "contactType": "customer support",
          "name": "siTia - Virtual Assistance",
          "telephone": "+62 813-2206-507",
          "url": "https://wa.me/628132206507",
          "areaServed": "ID",
          "availableLanguage": [
            "id",
            "en"
          ]
        }
      ],
      "areaServed": {
        "@type": "Country",
        "name": "Indonesia"
      },
      "knowsAbout": [
        "Terminal automation system",
        "Automatic tank gauging",
        "Tank management system",
        "SCADA",
        "Programmable logic controller",
        "Modbus",
        "Field instrumentation",
        "Weighbridge",
        "Pipeline pressure monitoring",
        "Industrial IoT"
      ],
      "brand": [
        {
          "@type": "Brand",
          "name": "INTEGRA"
        },
        {
          "@type": "Brand",
          "name": "CATALYST"
        }
      ],
      "sameAs": [
        "https://www.facebook.com/citiaengineering/",
        "https://www.instagram.com/citiaengineering/"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://citia-engineering.com/#website",
      "url": "https://citia-engineering.com",
      "name": "Citia Engineering Indonesia",
      "inLanguage": [
        "en",
        "id"
      ],
      "publisher": {
        "@id": "https://citia-engineering.com/#organization"
      },
      "potentialAction": [
        {
          "@type": "SearchAction",
          "name": "Search Citia News",
          "target": {
            "@type": "EntryPoint",
            "urlTemplate": "https://citia-engineering.com/en/news?q={search_term_string}"
          },
          "query-input": "required name=search_term_string"
        },
        {
          "@type": "SearchAction",
          "name": "Cari di News Citia",
          "target": {
            "@type": "EntryPoint",
            "urlTemplate": "https://citia-engineering.com/id/news?q={search_term_string}"
          },
          "query-input": "required name=search_term_string"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#webpage",
      "url": "https://citia-engineering.com/en/knowledge/tank-management-system-explained",
      "name": "What is a tank management system? From level readings to tank tickets and stock",
      "description": "A tank management system (TMS) turns ATG readings into standard volume, stock and tank tickets. See the data flow, ticket fields and ATG vs TMS vs TAS.",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://citia-engineering.com/#website"
      },
      "publisher": {
        "@id": "https://citia-engineering.com/#organization"
      },
      "about": {
        "@id": "https://citia-engineering.com/#organization"
      },
      "breadcrumb": {
        "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#breadcrumb"
      },
      "dateModified": "2026-11-13",
      "mainEntity": {
        "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#entity"
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Citia",
          "item": "https://citia-engineering.com/en"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Knowledge",
          "item": "https://citia-engineering.com/en/knowledge"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "What is a tank management system? From level readings to tank tickets and stock",
          "item": "https://citia-engineering.com/en/knowledge/tank-management-system-explained"
        }
      ]
    },
    {
      "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#entity",
      "url": "https://citia-engineering.com/en/knowledge/tank-management-system-explained",
      "mainEntityOfPage": {
        "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#webpage"
      },
      "@type": "TechArticle",
      "headline": "What is a tank management system? From level readings to tank tickets and stock",
      "description": "A tank management system (TMS) collects ATG data from every tank, calculates standard volume, records stock movements and issues tank tickets.",
      "dateModified": "2026-11-13",
      "author": {
        "@id": "https://citia-engineering.com/#organization"
      },
      "publisher": {
        "@id": "https://citia-engineering.com/#organization"
      },
      "inLanguage": "en",
      "articleSection": "Tank Farm & Inventory",
      "datePublished": "2026-11-13",
      "image": "https://citia-engineering.com/media/covers/tank-management-system-explained.webp"
    },
    {
      "@type": "FAQPage",
      "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#faq",
      "url": "https://citia-engineering.com/en/knowledge/tank-management-system-explained",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#webpage"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What is the difference between a TMS and an ATG?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "An ATG is the instrument that measures level on one tank, while a TMS is the application that collects all gauges and calculates stock. The TMS adds the calibration tables, the temperature correction, history and tank tickets that the gauge alone does not have."
          }
        },
        {
          "@type": "Question",
          "name": "What is in a tank ticket?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "A tank ticket holds the ticket number, date and time, operation type, level, water level, product and test temperature, density and status. Together these let anyone recalculate the standard volume of a receipt or delivery later."
          }
        },
        {
          "@type": "Question",
          "name": "How does a TMS handle an ATG that is offline?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "A TMS should flag the reading as stale, raise a communication alarm and let the operator enter a manual dip with a recorded reason. When the gauge returns, its first reading is checked against a fresh dip before automatic mode resumes."
          }
        },
        {
          "@type": "Question",
          "name": "Does a TMS have to connect to SAP?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "No, a TMS works on its own, but connecting it to SAP removes retyping of stock figures. Where the link exists, only verified tickets or stock figures should be posted, so the ERP receives values someone has checked."
          }
        },
        {
          "@type": "Question",
          "name": "Is TMS stock the same as the TPS or ownership balance?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "No, TMS stock is the physical quantity in the tanks, while TPS and ownership balances follow documents and transaction rules. They can be reconciled, but they are calculated on different bases and at different times."
          }
        },
        {
          "@type": "Question",
          "name": "Can a TMS work with ATGs from different brands?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes, a TMS can read several brands if the gateway can speak each gauge protocol. INTEGRA TMS, for example, works with ATGs from Honeywell, Endress+Hauser and Tokyo Keiso, but each installed model still needs checking."
          }
        }
      ]
    },
    {
      "@type": "DefinedTermSet",
      "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#glossary",
      "url": "https://citia-engineering.com/en/knowledge/tank-management-system-explained",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#webpage"
      },
      "name": "Terms used in this guide",
      "hasDefinedTerm": [
        {
          "@type": "DefinedTerm",
          "name": "Tank ticket",
          "description": "Record of the opening and closing measurement of a tank movement, used to verify quantities.",
          "inDefinedTermSet": {
            "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#glossary"
          }
        },
        {
          "@type": "DefinedTerm",
          "name": "Pumpable volume",
          "description": "Part of the tank contents that can actually be pumped out above the minimum level.",
          "inDefinedTermSet": {
            "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#glossary"
          }
        },
        {
          "@type": "DefinedTerm",
          "name": "Ullage",
          "description": "Empty space above the liquid, shown in a TMS as the volume still available.",
          "inDefinedTermSet": {
            "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#glossary"
          }
        },
        {
          "@type": "DefinedTerm",
          "name": "Gross standard volume (GSV)",
          "description": "Product volume corrected to 15 °C, used for stock and transfers.",
          "inDefinedTermSet": {
            "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#glossary"
          }
        },
        {
          "@type": "DefinedTerm",
          "name": "Gateway",
          "description": "Device that polls field instruments and passes their data to the server network.",
          "inDefinedTermSet": {
            "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#glossary"
          }
        },
        {
          "@type": "DefinedTerm",
          "name": "Stock posting",
          "description": "Sending a verified inventory figure from the TMS to the ERP.",
          "inDefinedTermSet": {
            "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#glossary"
          }
        },
        {
          "@type": "DefinedTerm",
          "name": "Stale value",
          "description": "A stored reading whose time stamp shows the device has not reported recently.",
          "inDefinedTermSet": {
            "@id": "https://citia-engineering.com/en/knowledge/tank-management-system-explained#glossary"
          }
        }
      ]
    }
  ]
}
```
