300 CT-e-Frachtdokumente,
eine monatliche Kostenübersicht
Ein Frachtanalyst, der monatlich 300 CT-e-Dokumente bearbeitet – ein typisches Volumen für einen mittelständischen Hersteller, der Waren in den Regionen Südosten und Mittelwesten versendet – öffnet jeden DACTE-Ausdruck oder jedes PDF, sucht die CNPJ des Spediteurs, den Servicewert (Valor do Serviço), das Bruttogewicht, den ICMS-Betrag, die Herkunfts- und Zielgemeinden und trägt diese zwölf Datenpunkte in eine Tabellenzeile ein. Bei 90 Sekunden pro Dokument für einen erfahrenen Analysten sind das 7,5 Stunden reine Dateneingabe pro Monat. Rechnet man die Zeit für die Korrektur von Tippfehlern, die Überprüfung von Steuersätzen, das Suchen von Anhängen, die per E-Mail statt über das Abrechnungsportal eingegangen sind, und den Abgleich der Frachtkosten mit den entsprechenden Eingangsrechnungen hinzu, wird die monatliche Frachtkostenaufstellung zu einer Zwei- bis Dreitagesaufgabe, die niemand übernehmen möchte. Das muss nicht sein.
Die wichtigsten Erkenntnisse
- Ein Analyst, der monatlich 300 CT-e-Dokumente abtippt, erstellt eine Tabelle, die vollständig aussieht, aber versteckte Lücken aufweist – Spalten fallen weg, Felder werden aus dem Gedächtnis geschätzt.
- Die Batch-Extraktion stellt sicher, dass jede Zeile dieselbe Struktur hat, da der Spaltensatz einmal definiert und auf alle 300 Dokumente angewendet wird – keine Abweichungen.
- Der wirkliche Mehrwert liegt in berechneten Spalten – Frachtkosten pro kg, effektiver ICMS-Satz – die während der Extraktion berechnet werden, ohne dass nachträglich eine einzige Formel eingegeben werden muss.
Die Batch-Lücke bei der brasilianischen Frachtkostenverfolgung
Stapelverarbeitung und manuelle Eingabe unterscheiden sich in einem versteckten Punkt, der nichts mit Geschwindigkeit zu tun hat. Es geht um Konsistenz. Wenn ein Analyst 300 CT-e-Dokumente nacheinander eingibt, ändert sich der Satz an Spalten, die er erfasst, im Laufe der Aufgabe. Die ersten 50 Dokumente erhalten eine Spalte „Notizen“, die bei Dokument 120 wegfällt, weil es zu lange dauert; der ICMS-Satz wird zu Beginn erfasst, aber gegen Ende nur noch aus dem Gedächtnis geschätzt. Das Ergebnis ist eine Tabelle, in der einige Zeilen Daten enthalten, die andere nicht, und der Analyst selbst kann hinterher nicht sagen, welche Zeilen vollständig sind und welche nicht.
Stapelverarbeitung – das Verarbeiten aller 300 DACTE-Ausdrucke mit demselben Satz an Spaltendefinitionen – stellt sicher, dass jede Zeile in der Ausgabe dieselbe Datenstruktur aufweist. Dieselben Felder für Frachtführer-CNPJ, Servicewert, ICMS-Betrag, Bruttogewicht und Route werden aus jedem Dokument im Stapel extrahiert. Der Spaltensatz, den Sie einmal zu Beginn definieren, ist der Spaltensatz, den jedes Dokument erhält. Der Unterschied zwischen manueller und Stapelverarbeitung liegt nicht in den eingesparten Stunden – sondern darin, dass das Ergebnis der manuellen Eingabe auf eine Weise unzuverlässig ist, die Sie nicht messen können, ohne alles noch einmal einzugeben.
Für ein detailliertes Verständnis dessen, was jedes CT-e enthält und warum der DACTE-Ausdruck die Informationsquelle ist, mit der die meisten Logistikteams arbeiten, lesen Sie unseren Leitfaden zur CT-e-Datenextraktion nach Excel, der jedes wichtige Feld des Dokuments abdeckt. Dieser Artikel baut auf diesem grundlegenden Extraktionsworkflow auf, um die spezifischen Herausforderungen der Stapelverarbeitung zu adressieren.
Der Batch-Unterschied: Die manuelle Eingabe erzeugt eine Tabelle, die vollständig aussieht, aber versteckte Lücken aufweist. Die Stapelverarbeitung erzeugt eine Tabelle, in der jede Zeile strukturell identisch ist – und Sie sofort erkennen können, ob ein Feld nicht gefunden wurde.
Was ein ordentliches CT-e-Frachtkostenhauptbuch tatsächlich benötigt
Bevor Sie einen Batch-Workflow aufbauen, muss der Spaltensatz die drei Aufgaben eines Frachtkostenhauptbuchs unterstützen: Verfolgen, was Sie pro Sendung bezahlt haben, Tarife über verschiedene Frachtführer und Routen hinweg vergleichen und die ICMS-Daten bereitstellen, die für die Steuergutschrift bei eingehenden Frachten benötigt werden. Diese drei Zwecke stellen unterschiedliche Anforderungen an die Datenstruktur.
Ein minimal brauchbares CTe-Kostenhauptbuch enthält die folgenden Feldgruppen:
| Feldgruppe | Spalten | Zweck im Kostenhauptbuch |
|---|---|---|
| Belegkennungen | Chave de Acesso (44-stellig), CT-e-Nummer, Serie, Ausstellungsdatum | Primärschlüssel zur Verknüpfung mit NF-e, ERP-Buchung und SEFAZ-Prüfung |
| Parteikennungen | CNPJ und Name des Frachtführers, CNPJ des Versenders, CNPJ des Empfängers | Kostenzuordnung nach Frachtführer, Lieferant oder empfangender Geschäftseinheit |
| Frachtkosten | Valor do Serviço (vTPrest), Valor a Receber (vRec), Aufschlüsselung der Abzüge | Primäre Kostenkennzahl, Nettokosten nach Einbehalten, Prüfung der Frachtführerzahlung |
| Steuerdetails | ICMS-Bemessungsgrundlage, ICMS-Steuersatz (alíquota), ICMS-Betrag | Rückgewinnung der ICMS-Vorsteuer auf Eingangsfrachten, SPED-EFD-Konformität |
| Ladungsdetails | Bruttogewicht (kg), Art der Ladung (natureza da carga), Warenwert (falls verfügbar) | Kosten-pro-kg-Benchmarking, Analyse der Streckenrentabilität |
| Route | Ursprungsgemeinde (IBGE-Code), Zielgemeinde (IBGE-Code), CFOP | Routenbasierter Kostenvergleich, Modalanalyse, steuerliche Klassifizierung |
Diese 15–18 Spalten bilden das Rückgrat eines Frachtkosten-Tracking-Systems, das Leistungsbewertungen von Frachtführern, Routenoptimierung und Steuerkonformität unterstützt. Die konkrete Spaltenauswahl variiert je nach Unternehmen: Ein Hersteller mit Fokus auf Eingangsfrachten legt möglicherweise Wert auf den CNPJ des Versenders und den ICMS-Steuersatz für die Vorsteuerrückgewinnung, während ein Distributionsunternehmen den CNPJ des Empfängers und den CFOP für die Kostenzuordnung nach Geschäftseinheit priorisiert.
Die entscheidende Designentscheidung ist die Aufnahme von berechneten Spalten zum Zeitpunkt der Extraktion, anstatt sie als nachträgliche Excel-Formeln hinzuzufügen. Da die KI die Berechnungen während der Extraktion durchführt – zum Beispiel Frachtkosten pro kg (Valor do Serviço ÷ Bruttogewicht) – landet der berechnete Wert direkt als Spalte in der Ausgabetabelle, wodurch der Schritt entfällt, bei dem ein Analyst eine Formelspalte hinzufügt und sie über 300 Zeilen kopiert. Der Unterschied zwischen direkter Extraktion, berechneten Spalten und abgeleiteten Spalten wird im Leitfaden zu berechneten Spalten beschrieben, der erläutert, wie jeder Modus in einen Batch-Workflow passt.
Aufbau des Batch-Workflows: Vom DACTE zur monatlichen Tabelle
Der Batch-Workflow für CTe-Frachtdokumente besteht aus drei Phasen, die den manuellen Einzelerfassungszyklus durch einen einzigen Batch-Prozess ersetzen.
Sammeln Sie alle CTe-DACTE-PDFs des Monats – aus Spediteur-E-Mails, dem Abrechnungsportal oder gescannten Ausdrucken. Laden Sie sie gemeinsam in einem einzigen Batch hoch. Die Oberfläche akzeptiert PDF, JPG, PNG und WebP. Die Dateien eines Monats für einen mittelständischen Hersteller umfassen typischerweise 200–400 Dokumente, und der Batch-Upload verarbeitet sie alle in einem Durchgang.
Geben Sie die Spaltennamen ein, die den benötigten Frachtkostenfeldern entsprechen. Diese werden zu den Kopfzeilen der Ausgabetabelle. Da die Extraktion ohne Vorlage erfolgt – die KI liest nach semantischer Bedeutung, nicht nach Layout-Position – funktionieren dieselben Spaltendefinitionen für jedes DACTE-Layout jedes Spediteurs. Ein CTe von JSL und einer von Braspress, die die ICMS-Daten an unterschiedlichen Seitenpositionen platzieren, werden beide mit demselben Spaltenset gelesen. Speichern Sie das Spaltenset nach dem ersten Batch als Vorlage; jeder Folgemonat verwendet dieselbe Vorlage ohne erneute Konfiguration.
Die KI verarbeitet alle Dokumente im Batch und erstellt eine einzige Excel-Datei mit einer Zeile pro CTe. Die Spaltenüberschriften entsprechen exakt Ihren Definitionen. Die heruntergeladene Datei ist bereit für den ERP-Import (die meisten Systeme akzeptieren XLSX als Flatfile), für Pivot-Analysen der Spediteurkosten oder für den Abgleich mit NF-e-Einkaufswerten.
Die drei Schritte ersetzen eine mehrtägige manuelle Dateneingabe durch einen Prozess, der in Minuten abgeschlossen ist. Der Engpass verschiebt sich von „Wie schnell können wir tippen?" zu „Wie schnell können wir die DACTE-Dateien von den Spediteuren sammeln?" – was an sich ein Prozess ist, den Batch-Sammel-Workflows adressieren können, der aber außerhalb des Rahmens des Extraktionsschritts liegt.
Berechnete Spalten für die Frachtkostenanalyse im Batch
Der wahre Hebel des Batch-Workflows liegt nicht darin, Dokumente schneller zu erfassen, sondern darin, Spalten hinzuzufügen, die Berechnungen oder Ableitungen erfordern – eine Arbeit, die bei manueller Eingabe nicht skalierbar ist, da jede zusätzliche Berechnung einen Formelschritt pro Zeile erfordert.
Drei berechnete Spalten, die eine einfache CT-e-Erfassung in ein Entscheidungsunterstützungswerkzeug verwandeln:
| Name der berechneten Spalte | Logik | Ermöglichter Nutzen |
|---|---|---|
Frachtkosten pro kg (Valor do Serviço ÷ Peso Bruto) | Teilen Sie vTPrest durch das Bruttogewicht | Kostenbenchmarking auf Streckenebene – welche Spediteure berechnen die höchsten R$/kg auf welchen Routen |
Effektiver ICMS-Satz % (vICMS ÷ Base de Cálculo) | Teilen Sie den tatsächlichen ICMS-Betrag durch die Bemessungsgrundlage | Steuersatzvalidierung – kennzeichnet Dokumente, bei denen der angewandte Satz vom erwarteten zwischenstaatlichen Satz (7 % oder 12 %) abweicht |
Zahlungslücke Spediteur (Valor a Receber - Valor do Serviço) | Subtrahieren Sie vRec von vTPrest | Einbehaltungsanalyse – zeigt Steuerabzüge (IRRF, PIS, COFINS, CSLL) und kennzeichnet unerwartete Lücken |
Jede berechnete Spalte wird während der Erfassung ausgeführt – die KI liest die Quellfelder aus dem DACTE, führt die Berechnung durch und schreibt das Ergebnis in die Ausgabetabelle. Der Batch mit 300 Dokumenten erzeugt 300 Werte in jeder berechneten Spalte, ohne dass nach der Erfassung Formelarbeit nötig ist. Für Teams, die Spediteursverträge verwalten, kann allein die Spalte „Frachtkosten pro kg“ Wochen manueller Datensammlung ersetzen.
Eine abgeleitete Spalte – der dritte Modus der benutzerdefinierten Spaltenextraktion – kann die Batch-Ausgabe weiter anreichern. Beispielsweise weist eine Spalte mit dem Namen Routentyp (Optionen: Innerhalb der Region / Überregional) die KI an, die Herkunfts- und Zielgemeinden zu bewerten und die Route zu klassifizieren, was eine Segmentierungsdimension hinzufügt, für die kein manueller Prozess bei jedem Dokument in einem Batch die Zeit hätte.
Einblick zur Batch-Erfassung: Der Wert der Batch-Verarbeitung liegt nicht darin, dass sie schneller tippt als ein Mensch. Er liegt darin, dass sie bei jedem Dokument jedes Mal dieselbe Logik anwendet – und berechnete Spalten erweitern diese Logik, ohne zusätzlichen Arbeitsaufwand zu verursachen.
Umgang mit Layout-Varianten verschiedener Frachtführer in einem einzigen Batch
Die brasilianische Straßengüterverkehrsbranche ist stark fragmentiert. Die ANTT (Agência Nacional de Transportes Terrestres) meldet über 650.000 im RNTRC-System registrierte Frachtführer – von großen börsennotierten Logistikdienstleistern wie JSL und Sequoia bis hin zu einzelnen Selbstständigen (transportador autônomo), die einen einzigen Lkw besitzen. Das DACTE-Layout jedes Frachtführers ist eine Abwandlung der SEFAZ-Vorlage, die Abweichung ist jedoch so erheblich, dass ein vorlagenbasiertes OCR-System eine separate Konfiguration pro Frachtführer erfordern würde.
Diese Fragmentierung ist der Hauptgrund, warum die Batch-Extraktion bei CT-e-Frachtdokumenten bisher unpraktikabel war. Ein Batch mit 300 Dokumenten aus dem Wareneingang eines großen Herstellers kann CT-e-Dokumente von 30–50 verschiedenen Frachtführern enthalten. Herkömmliche OCR – die Daten durch Abgleich von Zeichenpositionen extrahiert – versagt, wenn sie auf ein Layout trifft, für das sie nicht trainiert wurde. Das Training auf 50 Frachtführer-Layouts ist für einen Frachtanalysten kein realistischer Arbeitsablauf.
Extraktion ohne Vorlage löst dieses Problem, da die KI nach semantischer Bedeutung liest. „Valor do Serviço“, gedruckt in einer Seitentabelle auf JSLs DACTE, und „Valor do Serviço“, gedruckt in einer Fußzeile auf Braspress' DACTE, werden beide durch dieselbe Spaltendefinition lokalisiert – das Modell versteht, wie ein „Servicewert“ an jeder beliebigen Position in einem brasilianischen Frachtdokument aussieht. Ein einzelner Batch kann CT-e-Dokumente von 50 Frachtführern mit derselben Spaltendefinitionsdatei verarbeiten, und die Ausgabetabelle enthält vollständige Zeilen für jedes Dokument – nicht nur für die von Frachtführern, deren Layout das System bereits kennt.
Die praktische Auswirkung für den Frachtanalysten: Sie sammeln alle DACTE-Dateien des Monats, unabhängig vom Frachtführer, und laden sie gemeinsam hoch. Der Batch-Workflow erfordert nicht, dass Sie nach Frachtführer sortieren, Unter-Batches erstellen oder die Einstellungen zwischen den Durchläufen neu konfigurieren.
Abgleich von Batch-CT-e-Kosten mit NF-e-Einkaufswerten für die Landed-Cost-Berechnung
Ein monatliches Kostenbuch, das Frachtkosten isoliert erfasst, liefert Leistungsdaten zum Spediteur. Ein Buch, das jede CT-e-Frachtgebühr dem entsprechenden NF-e-Warenwert zuordnet, liefert die Landed Cost pro Einheit – die Kennzahl, die Einkaufsteams für die Margenanalyse tatsächlich benötigen.
Der Abgleichsmechanismus ist derselbe wie im Einzelbeleg-Workflow: Jede CT-e verweist auf den Chave de Acesso der NF-e, die sie transportiert (oder bei Sammelladungen auf mehrere NF-e-Zugriffsschlüssel). Durch die Extraktion des referenzierten NF-e-Zugriffsschlüssels aus jeder CT-e im Batch erhält die Frachtkosten-Tabelle eine Spalte, die als Fremdschlüssel in das NF-Einkaufsbuch fungiert. Ein XLOOKUP zwischen den beiden Tabellen erstellt eine kombinierte Ansicht, die für jede Sendung den Warenwert aus der NF-e, die Frachtkosten aus der CT-e und die berechneten Landed Costs anzeigt.
Dieser Abgleich wird noch leistungsfähiger, wenn sowohl der CT-e-Batch als auch der NF-e-Batch mit demselben Extraktions-Workflow verarbeitet werden. Der Leitfaden zur NF-e-Datenextraktion behandelt die Spaltendefinitionen für NF-Einkaufsbelege, und die beiden Ausgabetabellen – eine für Warenwerte, eine für Frachtkosten – werden über die Zugriffsschlüsselspalte zusammengeführt. Eine vierteljährliche Landed-Cost-Analyse, die früher einen ganzen Tag für das Querverweisen benötigte, wird zu einem Tabellen-Merge, der in Minuten abgeschlossen ist.
Für einen umfassenderen Überblick darüber, wie die CT-e in das brasilianische elektronische Belegökosystem neben der NF-e (Warenrechnung) und der MDF-e (Frachtmanifest) passt, siehe den Leitfaden zum brasilianischen elektronischen Beleg-Hub, der den SEFAZ-Autorisierungsworkflow behandelt, der allen brasilianischen Steuerbelegen gemeinsam ist.
Häufig gestellte Fragen
Wie viele CT-e-Dokumente kann ich in einem einzigen Batch verarbeiten?
Es gibt kein Dateilimit pro Batch. Die praktische Einschränkung ist das gesamte Seitenkontingent Ihres Tarifs. Ein einzelnes CT-e-DACTE umfasst 1–2 Seiten. Im Pro-Tarif (1.500 Seiten pro Monat) verbraucht ein Team, das 500 CT-e-Dokumente (à 1 Seite) verarbeitet, ein Drittel seiner monatlichen Kapazität und lässt Platz für andere Dokumenttypen. Die Batch-Ausgabe kombiniert unabhängig vom Volumen alle Dokumente in einer Excel-Datei.
Benötige ich für jedes Speditions-DACTE-Layout eine separate Vorlage?
Nein. Die Extraktion ohne Vorlage erfolgt anhand der semantischen Bedeutung, nicht der Position. Ein ICMS-Feld auf dem DACTE von JSL (das möglicherweise in einer Seitenleiste erscheint) und auf dem DACTE von Braspress (das möglicherweise in einer Fußzeilentabelle erscheint) wird beide Male durch dieselbe Spaltendefinition gefunden, da die KI versteht, was „ICMS“ auf einem Frachtdokument bedeutet. Ein Batch mit 50 verschiedenen Spediteuren verwendet eine einzige Spaltendefinitionsdatei.
Können berechnete Spalten die ICMS-Sätze innerhalb eines Batches validieren?
Ja, und dies ist eine ihrer wertvollsten Anwendungen. Eine berechnete Spalte, die den effektiven ICMS-Satz (vICMS ÷ Base de Cálculo) berechnet, liefert einen Wert, der für jedes Dokument im Batch dem erwarteten zwischenstaatlichen Satz – 7 % oder 12 % – entsprechen sollte. Zeilen, in denen der berechnete Satz vom erwarteten Satz abweicht, werden in der Ausgabe durch eine einfache bedingte Formatierungsregel in Excel markiert, wodurch ein Validierungsproblem mit 300 Zeilen zu einer Stichprobenprüfung der markierten Ausnahmen wird. Der Leitfaden zu CT-e ICMS-Berechnungsfehlern behandelt die spezifischen Satzregeln und die Bedeutung der einzelnen Abweichungsarten.
Was ist, wenn einige DACTE-PDFs seitlich gescannt wurden oder eine niedrige Auflösung haben?
Das KI-Visionsmodell verarbeitet Ausrichtung und moderate Auflösungsschwankungen. Ein gescanntes DACTE mit 200 DPI und einer Schräglage von 15 Grad wird korrekt verarbeitet – das Modell erkennt die Textausrichtung und liest kontextbezogen, anders als herkömmliche OCR, die eine Vorverarbeitung zur Entzerrung erfordert. Bei sehr niedrigen Auflösungen (unter 150 DPI) oder starken Lichtartefakten kann die Feldgenauigkeit abnehmen, aber die Extraktion liefert dennoch Teilergebnisse, die überprüft werden können, anstatt einen erneuten Scan zu erfordern.
Wie vergleiche ich die Frachtkosten Monat für Monat mithilfe der Batch-Extraktion?
Exportieren Sie den Batch jedes Monats in eine separate Excel-Datei und hängen Sie die monatlichen Dateien dann an eine einzige Jahresübersichtstabelle an. Da jeden Monat dieselben Spaltendefinitionen verwendet werden, haben die Dateien identische Spaltenstrukturen und können durch Anhängen von Zeilen gestapelt werden. Mit berechneten Spalten wie „Frachtkosten pro kg“, die in jeden monatlichen Export integriert sind, erfordert die monatliche Trendanalyse der Sätze lediglich eine Pivot-Tabelle auf dem gestapelten Datensatz – keine monatliche Formelanpassung.
Wie stelle ich mein Frachtteam von der manuellen Eingabe auf die Batch-Extraktion um?
Beginnen Sie mit einem parallelen Testmonat: Verarbeiten Sie die CT-e-Dokumente des Monats sowohl manuell (bestehender Workflow) als auch per Batch-Extraktion (neuer Workflow). Vergleichen Sie die beiden Ergebnisse – die Extraktionsergebnisse enthalten weniger Tippfehler, eine konsistentere Spaltenstruktur und eine vollständige Abdeckung des Dokumentensatzes. Der parallele Testlauf liefert die konkreten Belege, die nötig sind, um das Team im Folgemonat auf die reine Extraktion umzustellen. Die meisten Teams stellen fest, dass die Umstellung einen Zyklus erfordert, um Vertrauen in die Ergebnisse aufzubauen, und null zusätzliche Zyklen, um dieses Vertrauen zu erhalten.