So automatisieren Sie Lieferantenrechnungsberichte in Excel

Wenn Sie jeden Abend damit verbringen, Lieferantenrechnungsdetails in Excel zu kopieren, sie mit Bestellungen abzugleichen und Kundenberichte vorzubereiten, ist das eigentliche Problem der Workflow. Mehr Formeln beheben keinen Prozess, der Rohdateien, Korrekturen, Berechnungen und Präsentation in einem einzigen Tabellenblatt vermischt.

Diese Anleitung zeigt einen praktischen Weg, diese Aufgaben zu trennen. Sie erfahren, wie Sie Rechnungs- und Bestellexporte in einen prüfbaren Bericht verwandeln, welche Prüfungen Sie ausführen sollten, bevor Sie den Summen vertrauen, und wo RowSpeak Ihnen helfen kann, Fragen an die Dateien zu stellen, ohne die Quelldaten zu verbergen.

Die wichtigsten Erkenntnisse:

  • Rechnungen, Bestellungen und Lieferexporte unverändert in einer Rohdaten-Eingabeschicht belassen.
  • Datensätze vor der Berechnung von Summen mit stabilen IDs abgleichen.
  • Fehlende IDs, doppelte Rechnungen und Betragsabweichungen in eine Ausnahmentabelle aufnehmen.
  • Die Kundenzusammenfassung aus geprüften Daten erstellen, statt die Zusammenfassung manuell zu bearbeiten.
  • RowSpeak für dateibasierte Fragen und Berichtsentwürfe nutzen, dann die Quellzeilen vor dem Teilen prüfen.

Warum der nächtliche Copy-and-paste-Prozess scheitert

Ein kleines Distributionsunternehmen erhält Lieferantenrechnungen möglicherweise als PDFs, Tabellenkalkulationen oder E-Mail-Anhänge. Bestellungen und Lieferungen kommen eventuell aus einem anderen System. Der Kundenbericht benötigt üblicherweise eine dritte Sicht: was gekauft wurde, was geliefert wurde, was noch offen ist und was Aufmerksamkeit erfordert.

Wenn alle drei Sichten in einer Arbeitsmappe gepflegt werden, kann eine kleine Änderung eine große Frage auslösen. Ist die Rechnung doppelt erschienen? Stammte der Bestellexport aus demselben Zeitraum? Hat jemand beim Bereinigen der Datei einen Lieferantennamen geändert? Kann der Kunde einen Betrag bis auf eine Quellzeile zurückverfolgen?

Die Antwort ist nicht, den Bericht länger zu machen. Sie besteht darin, den Weg von der Eingabe zum Bericht sichtbar zu machen.

Der vierstufige Workflow für Rechnungsberichte

Verwenden Sie vier Ebenen, auch wenn es sich um vier Tabellenblätter in einer Arbeitsmappe handelt:

  1. Rohdaten-Eingaben: Speichern Sie die ursprünglichen Rechnungs-, Bestell- und Lieferexporte, ohne sie zu bearbeiten.
  2. Standardisierte Daten: Ordnen Sie unterschiedliche Spaltennamen und Formate einheitlichen Feldern zu.
  3. Prüfungen und Ausnahmen: Erfassen Sie doppelte IDs, fehlende Schlüssel, nicht zugeordnete Datensätze und Betragsabweichungen.
  4. Kundenbericht: Zeigen Sie Periodensummen, wichtigste Bewegungen, offene Posten und nächste Schritte.

Ein wiederholbarer Workflow zur Vorbereitung von Excel-Kundenberichten

Dasselbe Muster funktioniert, wenn die Eingaben als mehrere Excel-Dateien eintreffen. Führen Sie die Dateien zuerst in einer Arbeitstabelle zusammen, und wenden Sie dann die Datums-, Benennungs-, Leerwert- und Duplikatsprüfungen an, bevor Sie eine Kundensumme berechnen.

Mehrere Excel-Dateien kombinieren und Felder vor der Berichterstattung standardisieren

Diese Struktur bietet zwei nützliche Eigenschaften. Sie können erklären, woher eine Zahl stammt, und Sie können den Prozess wiederholen, wenn der nächste Dateistapel eintrifft.

Schritt 1: Definieren, was eine Zeile bedeutet

Bevor Sie irgendetwas abgleichen, notieren Sie die Granularität jeder Datei: Was stellt eine Zeile dar?

Datei Eine Zeile kann darstellen Feld zum Bestätigen
Lieferantenrechnungsexport Eine Rechnung oder eine Rechnungsposition Rechnungs-ID
Bestellexport Eine Bestellung oder eine Bestellposition Bestell-ID
Lieferexport Eine Sendung oder ein Lieferereignis Liefer-ID

Das ist wichtig, weil eine Rechnung mit fünf Positionen als fünf Zeilen erscheinen kann, während die Bestellungsdatei möglicherweise eine Zeile pro Bestellung enthält. Wenn Sie beide Dateien so summieren, als hätten sie dieselbe Granularität, kann die Summe zu hoch ausfallen.

Wenn Sie nur PDFs haben, extrahieren Sie die Felder in eine Arbeitstabelle, behalten Sie aber das ursprüngliche PDF als Quellreferenz. RowSpeak unterstützt Geschäftsdateien wie Excel, CSV, PDF, Screenshots und bildbasierte Tabellen, doch die extrahierten Werte müssen weiterhin geprüft werden, bevor sie zu einer Kundenzahl werden.

Schritt 2: Einen stabilen Abgleichschlüssel erstellen

Verwenden Sie eine ID, die über Dateien hinweg stabil bleiben sollte. Bevorzugen Sie Invoice ID, Order ID oder eine systemgenerierte Referenz gegenüber einem Lieferantennamen oder einer Beschreibung.

Wenn die Dateien keine gemeinsame ID haben, definieren Sie vor dem Abgleich eine Ersatzregel. Zum Beispiel:

Prompt
Supplier + Invoice date + Invoice amount

Behandeln Sie diese Ersatzregel als Prüfregel, nicht als Beweis für eine Übereinstimmung. Zwei Rechnungen können denselben Lieferanten, dasselbe Datum und denselben Betrag haben. Nehmen Sie solche Datensätze in die Ausnahmentabelle auf, statt sie stillschweigend zu verknüpfen.

Schritt 3: Prüfungen ausführen, bevor der Bericht berechnet wird

Verwenden Sie diese kurze Prüfliste für jeden Berichtszeitraum:

Prüfung Was markiert werden sollte Warum es wichtig ist
Rechnungs-ID Leere oder wiederholte ID Kann eine Lieferantenbelastung doppelt zählen
Datum Außerhalb des Berichtszeitraums Verändert die Periodensumme
Betrag Text, negativ oder unerwartete Währung Macht Summen und Vergleiche unbrauchbar
Abgleichschlüssel Fehlt oder wurde mehr als einmal zugeordnet Macht den Abgleich mehrdeutig
Lieferantenname Neue Schreibweise oder nicht zugeordneter Name Teilt denselben Lieferanten in zwei Gruppen auf
Status Bezahlt, offen, strittig oder unbekannt Ändert den nächsten Schritt

Überschreiben Sie den ursprünglichen Wert nicht, wenn Sie ein Format korrigieren. Behalten Sie daneben einen normalisierten Wert und dokumentieren Sie die verwendete Regel. So lässt sich eine spätere Kundenfrage beantworten.

Der Bereinigungsschritt sollte Spuren hinterlassen. Eine Vorher-nachher-Ansicht erleichtert es, ein geändertes Datum, einen normalisierten Lieferantennamen, ein aufgefülltes Leerfeld oder ein entferntes Duplikat zu erkennen, bevor der Bericht geteilt wird.

Beispiel eines bereinigten Tabellenkalkulationsergebnisses nach der Datenvorbereitung

Schritt 4: Einen Bericht erstellen, der Entscheidungen beantwortet

Ein Kundenbericht sollte die nächste Entscheidung erleichtern. Eine nützliche erste Version enthält:

  • den gesamten Rechnungsbetrag für den Zeitraum
  • den Betrag, der Bestellungen oder Lieferungen zugeordnet wurde
  • nicht zugeordnete und strittige Beträge
  • offene Rechnungen nach Fälligkeitsintervall
  • größte Lieferanten oder Kategorien nach Ausgaben
  • eine Ausnahmentabelle mit Verantwortlichem und nächster Prüfung

Die Rohdaten-Eingangstabelle kann jede Quellspalte enthalten. Der Bericht sollte die kleine Gruppe von Kennzahlen und Ausnahmen enthalten, die ein Kunde prüfen muss.

Für einen breiteren wiederkehrenden CSV-Prozess verwenden Sie die Prüfungen in diesem monatlichen CSV-Reporting-Workflow und verbinden Sie das Ergebnis mit einem monatlichen Management-Reporting-Workflow. Diese Seiten behandeln Periodenvergleiche, Aktualität der Quellen und für Stakeholder geeignete Zusammenfassungen ausführlicher.

Ein Prompt, der einen prüfbaren ersten Entwurf erzeugt

Nachdem Sie die geprüften Dateien in RowSpeak hochgeladen haben, fordern Sie einen Berichtsentwurf mit einer Anfrage wie dieser an:

Prompt
Erstelle einen Lieferantenrechnungsbericht für [period] aus den Rechnungs-, Bestell- und Lieferdateien.

Beschreibe zuerst, was eine Zeile in jeder Datei darstellt, und liste die für den Abgleich verwendeten Felder auf.
Dann:
1. Gleiche Datensätze nach Invoice ID, Order ID oder Delivery ID ab, sofern verfügbar.
2. Markiere doppelte IDs, fehlende IDs, nicht zugeordnete Datensätze, unerwartete Daten und Betragsabweichungen.
3. Fasse Rechnungs-, zugeordnete, nicht zugeordnete, strittige und überfällige Beträge zusammen.
4. Ordne Lieferanten oder Kategorien nach Betrag.
5. Gib eine Ausnahmentabelle mit Quellzeilenverweisen und dem nächsten Prüfschritt zurück.
6. Nenne alle Annahmen oder fehlenden Felder, die die Summen verändern könnten.

Die nützliche Ausgabe ist nicht nur die Zusammenfassung. Es ist die Kombination aus Zusammenfassung, Annahmen und den Zeilen, die geprüft werden müssen. Das macht eine dateibasierte Antwort in einem operativen Workflow nutzbar.

Die Prüfung kann als umgangssprachliche Frage zu den hochgeladenen Dateien erfolgen. Im folgenden Beispiel bleibt die Tabellenkalkulation neben der Konversation sichtbar, sodass Sie die Zeilen hinter der Antwort untersuchen können.

Fragen zu einer hochgeladenen Tabellenkalkulation stellen und das Ergebnis prüfen

Wo Excel, RowSpeak und BI jeweils passen

Excel bleibt eine gute Wahl, wenn die Quelle klein ist, die Regeln stabil sind und eine Person die Prüfungen pflegen kann. Power Query kann helfen, wenn dieselben Importe wiederholbare Transformationen benötigen. Eine BI-Plattform ist sinnvoller, wenn viele Teams gesteuerte, Live-Dashboards und ein gepflegtes Datenmodell benötigen.

RowSpeak passt zwischen rohe Geschäftsdateien und einen schweren Reporting-Stack, wenn Sie Fragen stellen, einen Bericht oder ein Dashboard erstellen und das Ergebnis prüfen möchten, ohne zuerst ein vollständiges BI-Projekt aufzubauen. Es genehmigt keine Rechnungen und löst keine Streitfälle für Sie. Behalten Sie diese Entscheidungen bei der verantwortlichen Person.

Wenn Ihr aktuelles Problem breiter als Rechnungen ist, sehen Sie sich den Excel-zu-Dashboard-Workflow oder die KI-Reporting-Funktion an, um Wege von exportierten Dateien zu einer teilbaren Analyse zu finden.

Abschließende Prüfung vor dem Teilen

Bevor Sie den Bericht senden, prüfen Sie:

  • ob die Quelldateien und der Berichtszeitraum festgehalten sind
  • ob die Zeilengranularität für jede Datei verstanden ist
  • ob Abgleichschlüssel und Ersatzregeln dokumentiert sind
  • ob die Summen mit den erwarteten Quellwerten übereinstimmen
  • ob Ausnahmen sichtbar und einem Verantwortlichen zugewiesen sind
  • ob die Zusammenfassung erklärt, was sich geändert hat und was getan werden muss
  • ob sensible Quellfelder aus der Kundenansicht ausgeschlossen sind

Diese Checkliste macht aus einer nächtlichen Copy-and-paste-Aufgabe einen Prozess, den Sie wiederholen, erklären und verbessern können. Beginnen Sie mit einem Berichtszeitraum und einer kleinen Stichprobe von Rechnungen. Sobald die Prüfungen funktionieren, ersetzen Sie für den nächsten Zyklus die Rohdateien, statt den Bericht von Grund auf neu aufzubauen.

Die wichtigsten Erkenntnisse

  • Lieferantenrechnungen und Geschäftsexporte als Rohdaten-Eingabeschicht belassen.
  • Stabile IDs und explizite Prüfungen verwenden, bevor Summen berechnet werden.
  • Datenbereinigung vom kundenorientierten Bericht trennen.
  • Ausnahmen erfassen, statt sie stillschweigend zu korrigieren.
  • RowSpeak nutzen, um geprüfte Dateien in Antworten, Zusammenfassungen und wiederholbare Berichte zu verwandeln.

Beginnen Sie mit der Ausgabe, die Ihr Kunde benötigt

Bevor Sie die Arbeitsmappe ändern, listen Sie die Fragen auf, die der Bericht beantworten muss:

  • Welche Produkte oder Dienstleistungen wurden geliefert?
  • Was wurde von jedem Lieferanten gekauft?
  • Welche Rechnungen stimmen mit den Bestell- oder Lieferdatensätzen überein?
  • Was ist noch unbezahlt, verzögert oder strittig?
  • Welche Summen sollte der Kunde in diesem Zeitraum prüfen?

Diese Liste verhindert, dass der Workflow zu einem zweiten Buchhaltungssystem wird. Das Ziel ist ein klarer Bericht, nicht eine Arbeitsmappe mit mehr Tabellenblättern.

Verwenden Sie vier Ebenen statt eines einzigen Arbeitsblatts

Ein zuverlässiger Workflow trennt vier Aufgaben:

  1. Rohdaten-Eingaben: Rechnungsdateien, Bestellexporte und Kundenquelldateien unverändert lassen.
  2. Standardisierte Daten: Spaltennamen, Datumsangaben, Lieferantennamen, Rechnungs-IDs und Beträge in eine einheitliche Tabelle überführen.
  3. Prüfungen und Ausnahmen: Doppelte Rechnungsnummern, fehlende IDs, nicht zugeordnete Beträge und unerwartete Daten markieren.
  4. Berichtsausgabe: Summen, Änderungen, Ausnahmen und nächste Schritte in einem Format zeigen, das der Kunde prüfen kann.

Diese Trennung ist wichtig, weil ein korrigierter Wert nachvollziehbar sein sollte. Wenn die einzige Kopie der Daten ein manuell bearbeitetes Berichtsblatt ist, lässt sich später schwer erklären, was sich geändert hat.

Rechnungen prüfen, bevor Summen erstellt werden

Prüfen Sie mindestens diese Felder:

Feld Prüfung
Rechnungs-ID Ist sie vorhanden und eindeutig?
Lieferant Stimmt der Name mit der Lieferantenliste überein?
Rechnungsdatum Liegt es innerhalb des Berichtszeitraums?
Betrag Ist er numerisch und in der erwarteten Währung?
Bestell- oder Liefer-ID Kann die Rechnung dem zugehörigen Datensatz zugeordnet werden?
Status Ist er bezahlt, offen, strittig oder wartet auf Prüfung?

Verbergen Sie fehlgeschlagene Prüfungen nicht, indem Sie den ursprünglichen Wert überschreiben. Fügen Sie einen Ausnahmegrund hinzu, z. B. Missing invoice ID, Duplicate invoice oder No matching order.

Erstellen Sie den Bericht aus Fragen, nicht aus jeder Spalte

Sobald die Eingaben standardisiert sind, berechnen Sie nur, was den Bericht unterstützt. Ein nützlicher Kundenbericht kann enthalten:

  • den gesamten Rechnungsbetrag für den Zeitraum
  • den Betrag, der Bestellungen oder Lieferungen zugeordnet wurde
  • nicht zugeordnete oder strittige Beträge
  • offene Rechnungen nach Fälligkeitsintervall
  • Top-Lieferanten oder Kategorien nach Ausgaben
  • eine kurze Liste von Datensätzen, die bearbeitet werden müssen

Der Bericht sollte erklären, was sich geändert hat und was Aufmerksamkeit erfordert. Eine Tabelle mit jeder importierten Spalte ist als Prüfschicht nützlich, aber sie ist keine Kundenzusammenfassung.

Ein praktischer RowSpeak-Prompt

Nachdem Sie die geprüften Dateien hochgeladen haben, können Sie RowSpeak mit einem Prompt wie diesem um einen ersten Berichtsentwurf bitten:

Prompt
Erstelle unter Verwendung der Lieferantenrechnungs-, Bestell- und Lieferdateien einen prüfbaren Kundenbericht für [period].

1. Gleiche Rechnungen nach Möglichkeit Bestellungen oder Liefer-IDs zu.
2. Markiere doppelte Rechnungs-IDs, fehlende IDs, nicht zugeordnete Datensätze, unerwartete Daten und Betragsabweichungen.
3. Fasse Rechnungs-, zugeordnete, nicht zugeordnete, strittige und überfällige Beträge zusammen.
4. Zeige die größten Lieferanten oder Kategorien nach Betrag.
5. Gib eine Ausnahmentabelle mit Quellzeile, Grund und vorgeschlagener nächster Prüfung zurück.
6. Nenne Annahmen oder fehlende Felder, die die Summen verändern könnten.

Prüfen Sie die Abgleichregeln und Ausnahmezeilen, bevor Sie das Ergebnis teilen. KI kann helfen, unordentliche Dateien zu organisieren und Muster zu erklären, aber die Quellwerte und Geschäftsregeln benötigen weiterhin eine menschliche Prüfung.

Den nächsten Berichtszyklus einfacher machen

Speichern Sie die Spaltenzuordnung, Validierungsregeln und Berichtsfragen nach dem ersten erfolgreichen Zyklus. Der nächste Durchlauf sollte die Rohdateien ersetzen und die Prüfungen wiederholen, statt die Arbeitsmappe von Grund auf neu aufzubauen.

Wenn der Prozess weiterhin manuelle Arbeit erfordert, messen Sie, wo sie anfällt: Dateibenennung, Spaltenzuordnung, Abgleich, Ausnahmenprüfung oder Berichtskommentar. Das zeigt Ihnen, welchen Teil Sie als Nächstes verbessern sollten.

RowSpeak passt, wenn Ihre Eingaben Excel, CSV, PDF, Screenshots oder andere exportierte Geschäftsdateien sind und die gewünschte Ausgabe eine Antwort, ein Bericht oder ein Dashboard ist, das Personen prüfen können. Es ist kein Ersatz für die Genehmigung einer Rechnung oder die Klärung einer strittigen Transaktion. Es kann Ihnen helfen, schneller von unordentlichen Dateien zu einer klareren Prüfwarteschlange zu gelangen.

Abschließende Prüfliste

Bestätigen Sie vor dem Senden des Berichts:

  • der Berichtszeitraum ist korrekt
  • Quelldateien sind erhalten
  • Rechnungs-IDs und Abgleichregeln sind dokumentiert
  • Ausnahmen sind sichtbar
  • Summen stimmen mit den erwarteten Quellwerten überein
  • die Zusammenfassung sagt, was sich geändert hat und was getan werden muss
  • der Kunde kann erkennen, welche Zahlen noch geprüft werden müssen

Diese Checkliste macht aus einer nächtlichen Copy-and-paste-Routine einen wiederholbaren Reporting-Workflow.

Verwandeln Sie Ihre nächste Tabelle in einen Bericht, den Sie direkt teilen können

Starten Sie mit der Excel- oder CSV-Datei, die Sie bereits haben. RowSpeak hilft Ihnen zu erkennen, was wichtig ist, und klare, nachvollziehbare Berichte und Dashboards für Ihr Team zu erstellen.

Eigene Datei testen

Empfohlene Artikel

Pivot-Tabellen erstellen: KI vs. manuell – Excel-Tutorial
Excel KI

Pivot-Tabellen erstellen: KI vs. manuell – Excel-Tutorial

Ein praktisches Pivot-Tabellen-Tutorial auf zwei Wegen: Erstellen Sie die Analyse zuerst mit RowSpeak-Prompts und folgen Sie dann dem manuellen Excel-Workflow aus Kevin Stratverts Schritt-für-Schritt-Video.

Ruby •
Vergiss VLOOKUP: So verknüpfst du Daten für Pivot-Tabellen mit Excel KI
Excel

Vergiss VLOOKUP: So verknüpfst du Daten für Pivot-Tabellen mit Excel KI

Hören Sie auf, Zeit mit VLOOKUP zu verschwenden, um Verkaufs- und Produktdaten zusammenzuführen. Diese Anleitung zeigt Ihnen den alten, mühsamen Weg und stellt eine neue, schnellere Methode mit Excel KI vor. Lassen Sie RowSpeak Ihre Tabellen verknüpfen und Berichte für Sie in Sekundenschnelle erstellen.

Ruby •
Vergessen Sie Excel-Hacks: 11 lästige Aufgaben sofort mit KI automatisieren
Excel KI

Vergessen Sie Excel-Hacks: 11 lästige Aufgaben sofort mit KI automatisieren

Hören Sie auf, Hunderte von Excel-Shortcuts auswendig zu lernen! Herkömmliche Tricks sparen zwar ein paar Klicks, sind aber weiterhin manuell und fehleranfällig. Sehen Sie, wie Sie mit der KI von RowSpeak in einfacher Sprache Daten formatieren, Spalten anpassen und Analysen durchführen und so Ihre Produktivität transformieren.

Ruby •
Wöchentliche Excel-Berichte automatisieren und Review-Notizen beibehalten
Excel KI

Wöchentliche Excel-Berichte automatisieren und Review-Notizen beibehalten

Wöchentliche Excel-Berichte werden fehlerhaft, wenn Kommentare an Zeilennummern gebunden sind. Nutzen Sie einen Stable-Key-Workflow, um Exporte zu aktualisieren und Review-Notizen beizubehalten.

Ruby •
Verwenden Sie nicht mehr die FREQUENCY-Formel: Erstellen Sie Histogramme in Excel mit KI
Excel KI

Verwenden Sie nicht mehr die FREQUENCY-Formel: Erstellen Sie Histogramme in Excel mit KI

Hören Sie auf, mit der verwirrenden FREQUENCY-Array-Formel und manueller Klassenerstellung in Excel zu kämpfen. Entdecken Sie, wie ein Excel-KI-Agent aus einem einfachen Chat-Befehl eine vollständige Häufigkeitsverteilungstabelle und ein Histogramm erstellt, um Ihnen Zeit zu sparen und Fehler zu vermeiden.

Ruby •
Vergessen Sie XVERWEIS: Wie Excel-KI die Datensuche revolutioniert
Excel KI

Vergessen Sie XVERWEIS: Wie Excel-KI die Datensuche revolutioniert

Kämpfen Sie noch mit SVERWEIS oder versuchen, die sechs Argumente von XVERWEIS zu meistern? Es gibt einen besseren Weg. Entdecken Sie, wie Sie mit Excel-KI Tabellen zusammenführen und Daten finden, indem Sie einfach beschreiben, was Sie benötigen – und sich so stundenlange Frustration beim Schreiben von Formeln ersparen.

Ruby •
Vergessen Sie verschachtelte Formeln: So ersetzen Sie Text in Excel ganz einfach mit KI
Excel KI

Vergessen Sie verschachtelte Formeln: So ersetzen Sie Text in Excel ganz einfach mit KI

Müde davon, mit verschachtelten SUBSTITUTE-Formeln zu kämpfen, um Ihre Daten zu bereinigen? Dieser Leitfaden vergleicht die mühsame manuelle Methode mit einer neuen KI-gestützten Lösung. Erfahren Sie, wie Sie Text in Excel ersetzen können, indem Sie einer KI einfach sagen, was Sie möchten, und so Stunden an Frustration sparen.

Ruby •
VLOOKUP ist veraltet. So suchen Sie stattdessen Daten mit Excel-KI.
Excel KI

VLOOKUP ist veraltet. So suchen Sie stattdessen Daten mit Excel-KI.

Kämpfen Sie mit den Einschränkungen von VLOOKUP? Es ist starr, fehleranfällig und verwirrend. Diese Anleitung zeigt Ihnen einen besseren Weg. Entdecken Sie, wie RowSpeak, ein Excel-KI-Agent, Ihnen ermöglicht, Tabellen zu kombinieren und Daten einfach durch Fragen zu finden, wodurch Sie Stunden manueller Arbeit sparen.

Ruby •