Schema CELESC
Campos completos da fatura CELESC, exemplos, enums, mapeamentos e estrutura de pdf_data 2.13.
Nesta página
Contrato da fatura
Esta página descreve cada item de fatura com dist: "CELESC" e schemaVersion: "3.0". Nos trabalhos, leia result.items[]; nas consultas por conexão, leia invoices[].
A fatura CELESC também inclui códigos de pagamento, leituras, bandeira tarifária, médias, energia por posto horário, demanda e informações complementares. Esses campos fazem parte do contrato mesmo quando o valor de uma fatura específica é null.
payment.pixQrCode contém o payload PIX copia e cola quando disponível; payment.barcode contém o código de pagamento. Uma fatura paga pode retornar esses campos como null.
energy.timeSlots separa ponta (peak), fora de ponta (offPeak), intermediário e reservado. Consumo registrado e consumo faturado podem diferir. Os campos de demanda usam kW; os de energia usam kWh.
Campos previstos permanecem presentes com null quando o valor não está disponível. Zero é um valor informado. pdf_data usa quando não solicitado e pdf usa null quando não há descritor de download. Todos os exemplos desta página são fictícios.
Exemplo completo de fatura sem PDF
{
"schemaVersion": "3.0",
"dist": "CELESC",
"consumerUnit": {
"installationId": "123456701100",
"legacyInstallationId": "12345678",
"contractAccount": "12345678",
"city": null,
"state": null
},
"invoice": {
"id": "000000000001",
"billingPeriod": "2026-08",
"dueDate": "2026-09-15",
"amount": 120.5,
"averageAmount": 100,
"currency": "BRL"
},
"payment": {
"status": "open",
"paidAt": null,
"sourceStatus": null,
"sourceCompensation": "Em aberto",
"barcode": null,
"pixQrCode": null,
"compensationBlocked": false,
"hasActiveInstallment": false
},
"reading": {
"days": 30,
"method": "actual",
"sourceMethod": "Leitura através empresa - SAP",
"providerMethodId": null,
"currentMeterReading": 1200
},
"tariff": {
"group": null,
"sourceGroup": null,
"flag": "yellow",
"sourceFlag": "Amarela",
"providerFlagId": "AM"
},
"energy": {
"unit": "kWh",
"consumed": 150,
"previousConsumed": 140,
"injected": 20,
"averageConsumed": 145,
"averageInjected": 15,
"timeSlots": {
"peak": {
"billedConsumed": null,
"registeredConsumed": null,
"injected": null,
"averageBilledConsumed": null,
"averageRegisteredConsumed": null,
"averageInjected": null
},
"offPeak": {
"billedConsumed": null,
"registeredConsumed": null,
"injected": null,
"averageBilledConsumed": null,
"averageRegisteredConsumed": null,
"averageInjected": null
},
"intermediate": {
"billedConsumed": null,
"registeredConsumed": null,
"injected": null,
"averageBilledConsumed": null,
"averageRegisteredConsumed": null,
"averageInjected": null
},
"reserved": {
"consumed": null,
"injected": null,
"averageConsumed": null,
"averageInjected": null
}
},
"demand": {
"unit": "kW",
"contracted": null,
"peak": null,
"offPeak": null
}
},
"providerMetadata": {
"availability": {
"status": null,
"providerId": null
},
"service": {
"code": null,
"id": null,
"protocol": null
},
"launchBlocked": false
},
"normalization": {
"status": "normalized",
"issues": []
},
"pdf_data": {},
"pdf": null,
"lastUpdated": "2026-09-04T12:00:00-03:00"
}Todos os campos da fatura
| Campo | Tipo | Descrição |
|---|---|---|
schemaVersion | string | Versão do recurso: 3.0. |
dist | string | CELESC. |
consumerUnit.installationId | string | Identificador atual e canônico da UC. |
consumerUnit.legacyInstallationId | string | null | Identificador anterior quando fornecido. |
consumerUnit.contractAccount | string | null | Conta contrato quando fornecida. |
consumerUnit.city | string | null | Município disponível no resultado da distribuidora. |
consumerUnit.state | string | null | UF com duas letras. |
invoice.id | string | Identificador da fatura; preserva zeros à esquerda. |
invoice.billingPeriod | string | Mês de referência em YYYY-MM. |
invoice.dueDate | date | null | Vencimento em YYYY-MM-DD. |
invoice.amount | number | null | Total em unidade monetária principal. |
invoice.averageAmount | number | null | Média de valor quando informada. |
invoice.currency | string | null | BRL quando informada; null quando indisponível. |
payment.status | enum | paid, open, overdue ou unknown. |
payment.paidAt | date | null | Data de pagamento quando informada. |
payment.sourceStatus | string | null | Código original de status da distribuidora. |
payment.sourceCompensation | string | null | Rótulo original de compensação ou liquidação. |
payment.barcode | string | null | Código de barras de pagamento quando disponível. |
payment.pixQrCode | string | null | Payload PIX copia e cola da CELESC; null quando indisponível. |
payment.compensationBlocked | boolean | null | Sinal da distribuidora para bloqueio de compensação. |
payment.hasActiveInstallment | boolean | null | Indica parcelamento ativo quando a origem informa. |
reading.days | integer | null | Dias faturados no ciclo. |
reading.method | enum | null | actual, estimated, customer_reported ou not_reported. |
reading.sourceMethod | string | null | Descrição original do método. |
reading.providerMethodId | string | null | Identificador original do método. |
reading.currentMeterReading | number | null | Leitura atual principal do medidor. |
tariff.group | string | null | Grupo tarifário normalizado quando disponível. |
tariff.sourceGroup | string | null | Grupo como retornado pela distribuidora. |
tariff.flag | enum | null | green, yellow, red, red_tier_1, red_tier_2, water_scarcity, mixed ou not_reported. |
tariff.sourceFlag | string | null | Bandeira no vocabulário da distribuidora. |
tariff.providerFlagId | string | null | Código original da bandeira. |
energy.unit | string | Unidade dos campos de energia; normalmente kWh. |
energy.consumed | number | null | Energia consumida no período. |
energy.previousConsumed | number | null | Consumo do período anterior quando informado. |
energy.injected | number | null | Energia injetada no período. |
energy.averageConsumed | number | null | Média de consumo disponível na origem. |
energy.averageInjected | number | null | Média de energia injetada disponível na origem. |
energy.timeSlots.peak.billedConsumed | number | null | Consumo faturado no posto de ponta. |
energy.timeSlots.peak.registeredConsumed | number | null | Consumo registrado no posto de ponta. |
energy.timeSlots.peak.injected | number | null | Energia injetada no posto de ponta. |
energy.timeSlots.peak.averageBilledConsumed | number | null | Média de consumo faturado em ponta. |
energy.timeSlots.peak.averageRegisteredConsumed | number | null | Média de consumo registrado em ponta. |
energy.timeSlots.peak.averageInjected | number | null | Média de energia injetada em ponta. |
energy.timeSlots.offPeak.billedConsumed | number | null | Consumo faturado fora de ponta. |
energy.timeSlots.offPeak.registeredConsumed | number | null | Consumo registrado fora de ponta. |
energy.timeSlots.offPeak.injected | number | null | Energia injetada fora de ponta. |
energy.timeSlots.offPeak.averageBilledConsumed | number | null | Média de consumo faturado fora de ponta. |
energy.timeSlots.offPeak.averageRegisteredConsumed | number | null | Média de consumo registrado fora de ponta. |
energy.timeSlots.offPeak.averageInjected | number | null | Média de energia injetada fora de ponta. |
energy.timeSlots.intermediate.billedConsumed | number | null | Consumo faturado no posto intermediário. |
energy.timeSlots.intermediate.registeredConsumed | number | null | Consumo registrado no posto intermediário. |
energy.timeSlots.intermediate.injected | number | null | Energia injetada no posto intermediário. |
energy.timeSlots.intermediate.averageBilledConsumed | number | null | Média de consumo faturado no posto intermediário. |
energy.timeSlots.intermediate.averageRegisteredConsumed | number | null | Média de consumo registrado no posto intermediário. |
energy.timeSlots.intermediate.averageInjected | number | null | Média de energia injetada no posto intermediário. |
energy.timeSlots.reserved.consumed | number | null | Consumo no horário reservado. |
energy.timeSlots.reserved.injected | number | null | Injeção no horário reservado. |
energy.timeSlots.reserved.averageConsumed | number | null | Média de consumo no horário reservado. |
energy.timeSlots.reserved.averageInjected | number | null | Média de injeção no horário reservado. |
energy.demand.unit | string | Unidade de demanda; kW. |
energy.demand.contracted | number | null | Demanda contratada. |
energy.demand.peak | number | null | Demanda em ponta. |
energy.demand.offPeak | number | null | Demanda fora de ponta. |
providerMetadata.availability.status | string | null | Status de disponibilidade informado pela origem. |
providerMetadata.availability.providerId | string | null | Identificador de disponibilidade da origem. |
providerMetadata.service.code | string | null | Código de serviço da origem. |
providerMetadata.service.id | string | null | Identificador de serviço da origem. |
providerMetadata.service.protocol | string | null | Protocolo de serviço da origem. |
providerMetadata.launchBlocked | boolean | null | Sinal de bloqueio de lançamento informado pela origem. |
normalization.status | enum | normalized ou review_required. |
normalization.issues[] | array | Avisos de mapeamento e validação. |
normalization.issues[].code | string | Código estável do aviso. |
normalization.issues[].field | string | Caminho do campo afetado. |
normalization.issues[].severity | string | Nível do aviso, normalmente warning ou error. |
normalization.issues[].message | string | Explicação legível do aviso. |
pdf_data | object | {} quando não solicitado; schema 2.13 sanitizado quando solicitado. |
pdf | object | null | Descritor de download em trabalhos que disponibilizam PDF. |
pdf.available | boolean | Indica que o arquivo pode ser baixado. |
pdf.fileName | string | Nome sugerido para o arquivo. |
pdf.contentType | string | application/pdf. |
pdf.downloadUrl | string | Rota autenticada e vinculada ao trabalho. |
lastUpdated | datetime | Última atualização do recurso em ISO 8601 com offset. |
Valores da fatura
payment.status: paid (paga), open (em aberto, sem vencimento passado), overdue (vencida) ou unknown (situação não identificada). A data de vencimento participa da situação retornada; um rótulo de origem isolado não substitui status.
payment.sourceCompensation apresentou Em aberto, Vencida e Paga. payment.sourceStatus pode ser null.
reading.method aceita actual, estimated, customer_reported, not_reported ou null. “Leitura através empresa - SAP” corresponde a actual; “Estimativa automática - SAP”, a estimated. Consulte o rótulo completo em reading.sourceMethod.
| sourceFlag | providerFlagId | flag |
|---|---|---|
| Verde | VD | green |
| Amarela | AM | yellow |
| Vermelha - Patamar 1 | VM1 | red_tier_1 |
| Vermelha - Patamar 2 | VM2 | red_tier_2 |
A tabela mostra as combinações observadas. tariff.flag também admite red, water_scarcity, mixed, not_reported e null. tariff.group aceita A, B ou null; o grupo e o subgrupo impressos estão em pdf_data.consumer_unit.
providerMetadata.availability.status pode informar “Faturado pelo mínimo da fase”. É um rótulo textual, não um enum fechado. Códigos e rótulos source* também não são enums fechados.
normalization.status aceita normalized e review_required. As severidades dos avisos são warning e error.
pdf_data 2.13
Solicite getPdfData: true em um trabalho de sincronização, invoice_pdf_parse, ou includePdfParse: true em installation_sync. Nas consultas por conexão, use get_pdf_data=true.
O objeto tem os mesmos campos nas duas distribuidoras. As tabelas abaixo descrevem o conteúdo esperado para CELESC. Campos numéricos ausentes usam null; tabelas sem linhas usam []. Um null em campo obrigatório para a interpretação da fatura exige consultar quality.issues.
consumer_unit.installation_id é o identificador impresso no PDF e pode ser atual ou legado. Não existe consumer_unit.legacy_installation_id neste objeto. Os dois identificadores da fatura continuam disponíveis em consumerUnit, fora de pdf_data.
{
"schema_version": "2.13",
"consumer_unit": {
"client_id": null,
"installation_id": "123456701100",
"city": "Florianópolis",
"state": "SC",
"classification": "residential",
"tariff_group": "B",
"tariff_subgroup": "B1",
"tariff_category": "b1_residential",
"supply_type": "single_phase",
"source_labels": {
"pdf_installation": "123456701100",
"classification": "residencial",
"tariff_category": "B1 Residencial",
"supply_type": "monofasico",
"group": "B/B1"
}
},
"billing": {
"reference_month": "2026-08",
"due_date": "2026-09-15",
"total_amount": 120.5,
"currency": "BRL"
},
"reading": {
"previous_date": "2026-08-01",
"current_date": "2026-08-31",
"next_date": "2026-09-30",
"billed_days": 30,
"method": "actual",
"source_method": "Leitura pela empresa"
},
"tariff_flag": {
"name": "green",
"total_days": 30,
"periods": [
{
"name": "green",
"days": 30,
"additional_unit_price": 0,
"unit": "BRL/kWh",
"source_name": "Verde"
}
]
},
"meter_readings": [
{
"meter_id": "000001",
"measurement": "consumed_energy",
"time_slot": "single",
"unit": "kWh",
"previous_reading": 1050,
"current_reading": 1200,
"multiplier": 1,
"losses": 0,
"measured_quantity": 150,
"source_measurement": "Energia consumida",
"source_time_slot": "TP"
}
],
"taxes": [
{
"type": "icms",
"source_name": "ICMS",
"base_amount": 120.5,
"rates_percent": [
12
],
"source_rate": "12",
"amount": 14.46
}
],
"line_items": [
{
"provider_code": "0P",
"type": "energy_consumption",
"component": "te",
"tariff_flag": null,
"effect": "charge",
"source_description": "(0P) Consumo TE",
"unit": "kWh",
"quantity": 150,
"unit_price_with_taxes": 0.8033333333,
"amount": 120.5,
"pis_cofins_amount": null,
"icms_base_amount": null,
"icms_rates_percent": [],
"icms_amount": null,
"tariff_unit_price": null
}
],
"history": [
{
"metric": "consumption",
"source_name": "Consumo",
"unit": "kWh",
"values": {
"2026-08": 150
}
}
],
"document": {
"provider": "CELESC",
"invoice_id": "000000000001",
"layout": "celesc_danf3e_a4_v1"
},
"quality": {
"score": 1,
"status": "parsed",
"api_cross_validated": false,
"issues": []
}
}Todos os campos de pdf_data
Os caminhos desta tabela são relativos a pdf_data.
| Campo | Tipo | Descrição |
|---|---|---|
schema_version | string | Versão do objeto pdf_data: 2.13. |
consumer_unit.client_id | string | null | Identificador do cliente impresso no documento, quando distinto da UC. |
consumer_unit.installation_id | string | null | Identificador impresso no PDF; pode ser atual ou legado. Compare com os identificadores de consumerUnit. |
consumer_unit.city | string | null | Município extraído. |
consumer_unit.state | string | null | UF extraída. |
consumer_unit.classification | enum | null | Classificação canônica do consumidor. |
consumer_unit.tariff_group | string | null | Grupo tarifário, como A ou B. |
consumer_unit.tariff_subgroup | string | null | Subgrupo, como B1 ou B3. |
consumer_unit.tariff_category | string | null | Categoria composta, por exemplo b1_residential. |
consumer_unit.supply_type | enum | null | single_phase, two_phase ou three_phase. |
consumer_unit.source_labels | object | Rótulos originais usados na normalização. |
consumer_unit.source_labels.pdf_installation | string | null | Instalação exatamente como lida do PDF. |
consumer_unit.source_labels.classification | string | null | Classificação impressa. |
consumer_unit.source_labels.tariff_category | string | null | Categoria tarifária impressa. |
consumer_unit.source_labels.supply_type | string | null | Tipo de fornecimento impresso. |
consumer_unit.source_labels.group | string | null | Grupo/subgrupo impresso, como A/A4, B/B1 ou B/B3; null quando não informado. |
billing.reference_month | string | null | Mês de referência em YYYY-MM. |
billing.due_date | date | null | Vencimento em YYYY-MM-DD. |
billing.total_amount | number | null | Total da fatura em unidade monetária principal. |
billing.currency | string | Moeda ISO; atualmente BRL. |
reading.previous_date | date | null | Data da leitura anterior. |
reading.current_date | date | null | Data da leitura atual. |
reading.next_date | date | null | Próxima leitura prevista. |
reading.billed_days | integer | null | Quantidade de dias faturados. |
reading.method | enum | actual para leitura realizada, estimated para estimativa, customer_reported para autoleitura ou not_reported quando não informado. |
reading.source_method | string | null | Método como impresso no documento. |
tariff_flag.name | enum | Bandeira consolidada do período. |
tariff_flag.total_days | integer | null | Total de dias coberto pelas bandeiras. |
tariff_flag.periods[] | array | Períodos de bandeira encontrados no documento. |
tariff_flag.periods[].name | enum | Bandeira canônica daquele trecho. |
tariff_flag.periods[].days | integer | null | Dias cobertos pelo trecho. |
tariff_flag.periods[].additional_unit_price | number | null | Adicional unitário da bandeira. |
tariff_flag.periods[].unit | string | BRL/kWh. |
tariff_flag.periods[].source_name | string | null | Nome da bandeira como impresso. |
meter_readings[].meter_id | string | null | Identificador do medidor. |
meter_readings[].measurement | enum | consumed_energy, injected_energy, reactive_energy, demand ou not_reported. |
meter_readings[].time_slot | enum | single, peak, off_peak, intermediate, reserved ou not_reported. |
meter_readings[].unit | string | null | Unidade da medição. |
meter_readings[].previous_reading | number | null | Leitura anterior. |
meter_readings[].current_reading | number | null | Leitura atual. |
meter_readings[].multiplier | number | null | Constante multiplicadora. |
meter_readings[].losses | number | null | Perdas aplicadas. |
meter_readings[].measured_quantity | number | null | Quantidade apurada. |
meter_readings[].source_measurement | string | null | Nome original da grandeza. |
meter_readings[].source_time_slot | string | null | Nome original do posto horário. |
taxes[].type | string | Tipo canônico, como pis, cofins ou icms. |
taxes[].source_name | string | null | Nome do tributo no PDF. |
taxes[].base_amount | number | null | Base de cálculo. |
taxes[].rates_percent | number[] | Alíquotas em pontos percentuais; 12 significa 12%. |
taxes[].source_rate | string | null | Alíquota como impressa. |
taxes[].amount | number | null | Valor do tributo. |
line_items[].provider_code | string | null | Código impresso no item. Consulte o catálogo abaixo e a descrição: o mesmo código pode ter significado diferente em faturas de geração. |
line_items[].type | enum | Tipo canônico do item faturado. |
line_items[].component | enum | null | te, tusd ou null. |
line_items[].tariff_flag | enum | null | Bandeira associada ao item. |
line_items[].effect | enum | charge, credit ou neutral. |
line_items[].source_description | string | null | Descrição original do item. |
line_items[].unit | string | null | Unidade física. |
line_items[].quantity | number | null | Quantidade física não negativa. |
line_items[].unit_price_with_taxes | number | null | Preço unitário com tributos. |
line_items[].amount | number | null | Valor com sinal contábil; créditos são negativos. |
line_items[].pis_cofins_amount | number | null | Parcela de PIS/COFINS. |
line_items[].icms_base_amount | number | null | Base de cálculo do ICMS. |
line_items[].icms_rates_percent | number[] | Alíquotas de ICMS em pontos percentuais. |
line_items[].icms_amount | number | null | Valor de ICMS. |
line_items[].tariff_unit_price | number | null | Tarifa unitária sem arredondamento indevido. |
history[].metric | string | Métrica canônica da série. |
history[].source_name | string | null | Nome original da série. |
history[].unit | string | kWh ou day. |
history[].values | object | Mapa YYYY-MM para number ou null. |
document.provider | string | null | CELESC. |
document.invoice_id | string | null | Identificador da fatura. |
document.layout | string | null | Família de layout reconhecida. |
quality.score | number | Pontuação de 0 a 1. |
quality.status | enum | verified, parsed, partial ou invalid. |
quality.api_cross_validated | boolean | Indica comparação com metadados da resposta de fatura. |
quality.issues[] | array | Avisos e erros encontrados na validação. |
quality.issues[].code | string | Código estável do problema. |
quality.issues[].field | string | Campo afetado. |
quality.issues[].severity | enum | warning ou error. |
quality.issues[].message | string | Explicação legível do problema. |
Vocabulário aceito do PDF
Estes são os valores reconhecidos pelo contrato. Nem todos aparecem em toda fatura ou no conjunto de exemplos observado. Campos textuais, como descrições, códigos de origem e nomes de séries, não são enums fechados.
| Campo | Tipo | Descrição |
|---|---|---|
consumer_unit.classification | enum | null | commercial, industrial, own_consumption, public_lighting, public_power, public_service, residential, rural. null quando não identificada. |
consumer_unit.supply_type | enum | null | single_phase, three_phase, two_phase. null quando não identificado. |
consumer_unit.tariff_group | enum | null | A ou B; null quando não identificado. |
consumer_unit.tariff_subgroup | enum | null | A1, A2, A3, A3A, A4, AS, B1, B2, B3 ou B4; null quando não identificado. |
consumer_unit.tariff_category | string | null | Subgrupo em minúsculas + classificação, como b1_residential ou a4_commercial. null se não houver subgrupo ou classificação. |
reading.method | enum | actual, customer_reported, estimated, not_reported. |
tariff_flag.name / periods[].name / line_items[].tariff_flag | enum | green, mixed, not_reported, red, red_tier_1, red_tier_2, water_scarcity, yellow. No item, null quando não se aplica. |
meter_readings[].measurement | enum | consumed_energy, injected_energy, reactive_energy, demand ou not_reported. |
meter_readings[].time_slot | enum | intermediate, not_reported, off_peak, peak, reserved, single. |
meter_readings[].unit | enum | null | kWh, kW ou kvarh conforme a unidade impressa. Energia consumida e injetada usam kWh quando o documento não separa a unidade; outras grandezas sem unidade identificada usam null. |
line_items[].unit | enum | null | kWh, MWh, kW, kvarh ou unit; null quando não informada ou não reconhecida. |
line_items[].type | enum | energy_consumption, injected_energy, energy_adjustment, tariff_flag, municipal_public_lighting, late_payment_penalty, interest, monetary_adjustment, compensation, bonus, refund, demand, reactive_energy, other, tariff_benefit, reconnection_fee, donation, installment, third_party_service. |
taxes[].type | string | icms, pis e cofins são os nomes conhecidos. Outros tributos podem aparecer com um nome em snake_case; other quando não identificado. |
line_items[].component | enum | null | te (energia), tusd (uso do sistema de distribuição) ou null. |
line_items[].effect | enum | charge para valor positivo; credit para valor negativo; neutral para valor zero ou ausente. Consulte amount e quality antes de concluir que não houve cobrança. |
history[].metric | string | Nome da série em snake_case. Os nomes conhecidos para esta distribuidora estão abaixo; o campo admite outras séries, acompanhadas de source_name. |
quality.status | enum | verified, parsed, partial ou invalid. |
quality.issues[].severity | enum | warning ou error. |
document.layout | string | celesc_danf3e_a4_v1, celesc_generator_danf3e_v1, celesc_legacy_nf_conta_energia. |
Mapeamentos e significado
Residencial corresponde a residential, comercial a commercial, industrial a industrial e rural a rural. Monofásico, bifásico e trifásico correspondem a single_phase, two_phase e three_phase. Os rótulos impressos ficam em consumer_unit.source_labels.
Verde, amarela, vermelha patamar 1 e vermelha patamar 2 correspondem a green, yellow, red_tier_1 e red_tier_2. Vermelha sem patamar usa red; mixed indica uma combinação de bandeiras. Consulte tariff_flag.periods[] para todos os trechos, mesmo quando o resumo indicar uma única bandeira.
Códigos de itens CELESC
Este catálogo descreve os códigos das faturas celesc_danf3e_a4_v1. Em celesc_generator_danf3e_v1, códigos iguais podem designar outros lançamentos: use type, component e source_description retornados no item.
| provider_code | Descrição | type | Componente / bandeira |
|---|---|---|---|
0P | Consumo TE | energy_consumption | te |
0Q | Consumo TE Isento ICMS/PIS/COFINS | energy_consumption | te |
0R | Consumo TE Isento PIS/COFINS | energy_consumption | te |
0S | Consumo TUSD | energy_consumption | tusd |
0T | Consumo TUSD Isento PIS/COFINS | energy_consumption | tusd |
12 | Energia ativa injetada TE | injected_energy | te |
13 | Energia ativa injetada TUSD | injected_energy | tusd |
6U | Benefício Tarifário Bruto GD2 | tariff_benefit | null |
73 | Benefício Tarifário Líquido GD2 | tariff_benefit | null |
75 | Bandeira Amarela | tariff_flag | yellow |
76 | Bandeira Amarela da Energia Injetada | tariff_flag | yellow |
77 | Bandeira Amarela da Energia Injetada | tariff_flag | yellow |
78 | Bandeira Amarela Isenta ICMS/PIS/COFINS | tariff_flag | yellow |
79 | Bandeira Amarela Isenta PIS/COFINS | tariff_flag | yellow |
7G | Bandeira Vermelha | tariff_flag | red |
8K | Bonus Itaipu | bonus | null |
8F | Anulação de Compensação | compensation | null |
95 | Correção Monetária | monetary_adjustment | null |
96 | Correção Monetária devolução em dobro | monetary_adjustment | null |
97 | Correção Monetária fatura revisada | monetary_adjustment | null |
BE | Crédito próxima fatura | compensation | null |
CG | Devolução Pagamento em duplicidade | refund | null |
C8 | Devolução de crédito de pagamento a maior | refund | null |
CJ | DIC crédito | compensation | null |
E4 | FIC crédito | compensation | null |
EB | Juros | interest | null |
EG | Multa | late_payment_penalty | null |
FT | Religação | reconnection_fee | null |
FQ | Plano de Parcelamento | installment | null |
GY | COSIP Municipal | municipal_public_lighting | null |
OB | Doação | donation | null |
TV | Serviço de terceiros | third_party_service | null |
Os códigos 12 e 13 podem incluir energia da própria UC ou de outra UC, meses distintos e variantes de geração. Essas diferenças permanecem em source_description. Para benefícios tarifários, créditos e devoluções, consulte effect e o sinal de amount.
Os códigos OB, TV e FQ identificam donation (doação), third_party_service (serviço de terceiros) e installment (parcela). CJ, E4 e 8F são compensation; C8 é refund; 96 e 97 são monetary_adjustment. A descrição e o sinal do valor distinguem créditos, estornos e cobranças.
A série “Conversão entre postos horários” usa time_slot_conversion, com valores em kWh por mês.
No histórico, consumption representa consumo; injected_energy, energia injetada; injected_energy_used, injeção utilizada; distributed_energy_surplus e received_energy_surplus, excedentes distribuídos e recebidos. previous_credit_balance, used_credits e updated_credit_balance representam saldo anterior, créditos utilizados e saldo atualizado, em kWh.
Nos medidores, energia consumida usa consumed_energy; energia injetada usa injected_energy. Posto único/TP usa single, ponta/PT usa peak, fora de ponta/FP usa off_peak. ICMS, PIS e COFINS aparecem como icms, pis e cofins; suas alíquotas estão em pontos percentuais.
Valores observados nos documentos
Esta lista ajuda a reconhecer os valores já encontrados para CELESC. Ela complementa o vocabulário aceito acima e não limita novos documentos a essas combinações. Valores ausentes não aparecem na lista.
| Campo | Tipo | Descrição |
|---|---|---|
consumer_unit.classification | observado | commercial, industrial, residential |
consumer_unit.tariff_group | observado | A, B |
consumer_unit.tariff_subgroup | observado | A4, B1, B3 |
consumer_unit.tariff_category | observado | a4_commercial, b1_residential, b3_commercial, b3_industrial |
consumer_unit.supply_type | observado | single_phase, three_phase, two_phase |
reading.method | observado | actual, estimated, not_reported |
tariff_flag.name | observado | green, red_tier_1, red_tier_2, yellow |
meter_readings[].measurement | observado | consumed_energy, injected_energy |
meter_readings[].time_slot | observado | single |
line_items[].type | observado | bonus, compensation, demand, donation, energy_consumption, injected_energy, installment, interest, late_payment_penalty, monetary_adjustment, municipal_public_lighting, reactive_energy, reconnection_fee, refund, tariff_benefit, tariff_flag, third_party_service |
history[].metric | observado | consumption, distributed_energy_surplus, injected_energy, injected_energy_used, previous_credit_balance, received_energy_surplus, time_slot_conversion, updated_credit_balance, used_credits |
document.layout | observado | celesc_danf3e_a4_v1, celesc_generator_danf3e_v1 |
meter_readings[].unit | observado | kWh |
line_items[].component | observado | te, tusd |
line_items[].effect | observado | charge, credit |
line_items[].unit | observado | kW, kWh |
taxes[].type | observado | cofins, icms, pis |
Qualidade e revisão
quality.status indica verified (dados conferidos com a fatura), parsed (dados estruturados sem comparação com a fatura), partial (dados com avisos de completude) ou invalid (erro de estrutura, total ou divergência). quality.score varia de 0 a 1; consulte os avisos mesmo quando a pontuação for 1.
normalization.issues[] pode indicar unmapped_payment_status, unmapped_tariff_group, unmapped_provider_field, invalid_provider_date, invalid_provider_number ou missing_required_field, além de unmapped_reading_method e unmapped_tariff_flag. Confira o caminho em field e a explicação em message.
Em pdf_data.quality.issues[], unmapped_canonical_value indica um campo sem valor canônico; line_item_total_mismatch indica divergência entre itens e total; códigos api_*_mismatch indicam divergências com a fatura. Um tipo de item other ou uma série nova de histórico também exige que sua aplicação consulte a descrição, mesmo sem aviso de qualidade.
pdf_data não contém nome, CPF/CNPJ, endereço completo, CEP, código de barras nem chave de acesso do documento. Os códigos de pagamento disponíveis ficam em payment.barcode e payment.pixQrCode.