Tính tiền điện API
Tính hóa đơn tiền điện EVN theo biểu 5 bậc từ 1/11/2026, có VAT, chia theo ngày khi đổi giá, giá kinh doanh theo giờ và chia tiền điện phòng trọ.
Gửi số kWh (hoặc chỉ số công tơ đầu và cuối kỳ), API tính tiền điện sinh hoạt theo biểu giá bán lẻ đang áp dụng tại ngày đó: biểu 5 bậc theo QĐ 2892/QĐ-BCT từ 1/11/2026 (100 / 100 / 200 / 300 kWh và phần còn lại), hoặc biểu 6 bậc trước đó (QĐ 1279/QĐ-BCT, QĐ 2699/QĐ-BCT). Kết quả có từng bậc, tiền trước thuế, thuế GTGT (8% đến hết 31/12/2026 theo NĐ 174/2025, 10% từ 2027) và tổng cộng. compare=true cho biết chênh lệch so với biểu giá cũ.
Khi kỳ ghi chỉ số (from – to) có ngày đổi giá, sản lượng và định mức các bậc được chia theo số ngày như cách EVN nội suy khi không có số liệu đo xa. persons áp dụng định mức cho người thuê nhà (cứ 4 người đăng ký là một hộ), tenant_flat=true tính toàn bộ theo giá bậc 2 (thuê dưới 12 tháng, không kê khai được số người), còn amount tính ngược từ số tiền ra số kWh.
Với nhà trọ, rooms chia hóa đơn theo công tơ phụ của từng phòng: theo tỷ lệ (phần điện chung chia đều, chia theo mức dùng hoặc chủ nhà chịu), theo đơn giá cố định mỗi kWh, hoặc tính riêng mỗi phòng như một hộ. customer còn hỗ trợ sản xuất, kinh doanh, lưu trú du lịch, trạm sạc xe điện, trường học, chiếu sáng công cộng với điện năng giờ cao điểm, bình thường, thấp điểm theo cấp điện áp.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
kwh | query|body | number | không | Số kWh tiêu thụ trong kỳ (hoặc gửi start_reading + end_reading). | |
start_reading | query|body | number | không | Chỉ số công tơ đầu kỳ. | |
end_reading | query|body | number | không | Chỉ số công tơ cuối kỳ. | |
date | query|body | string | không | Ngày lấy biểu giá áp dụng (YYYY-MM-DD, mặc định hôm nay). | |
from | query|body | string | không | Ngày ghi chỉ số kỳ trước; cùng to để chia kỳ khi đổi giá. | |
to | query|body | string | không | Ngày ghi chỉ số kỳ này. | |
customer | query|body | string | không | household | household (sinh hoạt), production, business, accommodation, ev_charging, health_education, public_admin. |
voltage | query|body | string | không | low | Ngoài sinh hoạt: low (đến 1 kV), medium, high (35–220 kV), extra_high (từ 220 kV). |
peak_kwh | query|body | number | không | Ngoài sinh hoạt: kWh giờ cao điểm (tương tự offpeak_kwh, normal_kwh). | |
persons | query|body | number | không | Số người đăng ký (người thuê nhà): định mức = số người / 4 hộ. | |
households | query|body | number | không | 1 | Số định mức hộ dùng chung công tơ. |
tenant_flat | query|body | boolean | không | Tính toàn bộ theo giá bậc 2. | |
amount | query|body | number | không | Tính ngược: số tiền đã gồm VAT -> số kWh. | |
rooms | body | array | không | Chia phòng: [{"name":"P1","kwh":80}, {"name":"P2","start_reading":100,"end_reading":190}]. | |
split | body | string | không | proportional | proportional, fixed_price (kèm price_per_kwh) hoặc separate; common = equal / proportional / landlord. |
vat_percent | query|body | number | không | Đặt lại thuế suất GTGT. | |
compare | query|body | boolean | không | Thêm chênh lệch so với biểu giá trước. |
Ví dụ
curl "https://apibox.io.vn/v1/vn-electricity?kwh=250" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/vn-electricity?kwh=250', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/vn-electricity?kwh=250",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-electricity?kwh=250');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"customer": "household",
"kwh": 250,
"amount_before_vat": 563700,
"vat_percent": 8,
"vat": 45096,
"total": 608796,
"segments": [
{
"tariff": "QĐ 2892/QĐ-BCT",
"effective_from": "2026-11-01",
"kwh": 250,
"amount": 563700,
"tiers": [
{
"tier": 1,
"kwh": 100,
"price": 1901,
"amount": 190100,
"limit": 100
},
{
"tier": 2,
"kwh": 100,
"price": 2289,
"amount": 228900,
"limit": 100
},
{
"tier": 3,
"kwh": 50,
"price": 2894,
"amount": 144700,
"limit": 200
}
]
}
],
"quota": {
"households": 1
},
"tariff": {
"decree": "QĐ 2892/QĐ-BCT",
"effective_from": "2026-11-01",
"tiers": [
{
"tier": 1,
"kwh": 100,
"price": 1901
},
{
"tier": 2,
"kwh": 100,
"price": 2289
},
{
"tier": 3,
"kwh": 200,
"price": 2894
},
{
"tier": 4,
"kwh": 300,
"price": 3456
},
{
"tier": 5,
"kwh": null,
"price": 3844
}
]
},
"reviewed": "2026-11-11"
}
Ứng dụng
- Hiển thị tiền điện tháng trong app nhà thông minh, app năng lượng
- Chia tiền điện cho từng phòng trong phần mềm quản lý nhà trọ
- Ước tính tiền tiết kiệm cho công cụ tính điện mặt trời
- Kiểm tra hóa đơn điện kinh doanh có giờ cao điểm, thấp điểm
Hỏi đáp
API dùng biểu giá nào?
Biểu giá có hiệu lực tại date (hoặc ngày ghi chỉ số to): QĐ 2892/QĐ-BCT từ 1/11/2026, trước đó là các biểu cũ. Kết quả luôn ghi rõ số quyết định.
Kỳ ghi chỉ số có ngày đổi giá thì tính thế nào?
Sản lượng và định mức từng bậc được chia theo tỷ lệ số ngày áp dụng giá cũ và giá mới, giống cách EVN nội suy khi không có dữ liệu đo xa.
Đã gồm thuế GTGT chưa?
Đơn giá chưa gồm thuế; API cộng thuế GTGT 8% đến hết 31/12/2026 (NĐ 174/2025) và 10% từ 2027. Có thể đặt lại bằng vat_percent.
API liên quan
Kiểm tra JSON
Kiểm tra cú pháp JSON, báo đúng dòng và cột bị lỗi, và validate dữ liệu theo JSON Schema (draft 4, 7, 2019-09 hoặc 2020-12).
{ }Định dạng JSON
Làm đẹp JSON với thụt lề 0-8 dấu cách hoặc tab, rút gọn (minify) hoặc sắp xếp key theo bảng chữ cái. Báo lỗi cú pháp kèm dòng và cột.
CSVCSV sang JSON
Chuyển CSV thành mảng object JSON theo dòng tiêu đề, tự nhận dấu phân cách, tự chuyển số và boolean, báo lỗi từng dòng.