Gå til hovedinnhold

production.invoices

Følgende dokumentasjon beskriver <br />-tabellen production.invoices, en nøkkelkomponent i Veterinærpraksis’ dataplattform. Denne tabellen gir direkte tilgang til standardisert, testet og beriket fak…

Følgende dokumentasjon beskriver

production.invoices-tabellen, en nøkkelkomponent i Veterinærpraksis’ dataplattform. Denne tabellen gir direkte tilgang til standardiserte, testede og berikede fakturadata, slik at du kan øke hastigheten på analyser og finansiell rapportering.

Detaljert kolonnehenvisning

Kjerneidentifikatorer

Kolonne

Type

Beskrivelse

Eksempler

Forretningslogikk

provet_id

STRING

Din unike praksis-ID

"pcus_1"

Leietaker-isolasjonsnøkkel – filtrer alltid på denne for ytelse

invoice_id

BIGINT

Unik faktura-ID i praksisen

12345, 67890

Systemgenerert og uforanderlig når den først er opprettet

invoice_number

STRING

Fakturanummeret som vises til kunder

"1001-2024-00123", "DEPT2-240915-456"

Format: {department_id}-{date}-{sequence}. NULL til faktura er ferdigstilt (status=3)

Klassifisering av faktura

Kolonne

Type

Beskrivelse

Eksempler

Forretningslogikk

invoice_type

STRING

Avledet fakturatypkategori

"consultation", "countersale", "credit_note"

Logikk:CASE WHEN countersale=1 THEN 'Countersale' WHEN credit_note=0 THEN 'Consultation' WHEN credit_note=1 THEN 'Credit Note' ELSE 'Unknown' END

consultation_id

BIGINT

Relatert referanse for konsultasjon

98765, NULL

Lenker til konsultasjonsoppføring. NULL for direktesalg og kreditnotaer

invoice_status

STRING

Gjeldende status for faktura

"pending", "paid", "cancelled"

Tilordning: 0=Utkast, 1=Sendt, 2=Åpnet, 3=Ferdigstilt, 4=Fakturering, 99=Annullert. Merk: "pending"/"paid"/"cancelled" er forenklede forretningsbegreper

Finansiell informasjon

Kolonne

Type

Beskrivelse

Eksempler

Forretningslogikk

total_incl_vat

DECIMAL

Total beløp inkludert MVA/skatt

125.50, 89.99

Endelig fakturerbart beløp inkludert alle avgifter

total_excl_vat

DECIMAL

Total beløp ekskludert MVA/skatt

100.40, 74.99

Grunnbeløpet før beregning av skatt

amount_due

DECIMAL

Utestående saldo som gjenstår

125.50, 0.00, 25.00

Reduseres når betalinger blir registrert. 0.00 = fullt betalt

currency_code

STRING

ISO 4217-valutakode

"EUR", "USD", "GBP", "CAD"

Auto-tilordnet fra land for avdeling

currency_name

STRING

Fullt valutnavn

"Euro", "US Dollar", "British Pound Sterling"

Valutabeskjkrivelse for mennesker

Kunde- & veterinærinformasjon

Kolonne

Type

Beskrivelse

Eksempler

Forretningslogikk

client_name

STRING

Kunde/Betaler-navn

"John Smith", "Pet Insurance Co", "Sarah Johnson"

Fra payer_name-feltet i kildedata

supervising_veterinarian_name

STRING

Fullt navn på ansvarlig veterinær

"Dr. Emily Watson", "Michael Chen DVM", NULL

Logikk: `first_name

Detaljer for betalingsmåte

Kolonne

Type

Beskrivelse

Eksempler

Forretningslogikk

payment_method_type

STRING

Standardisert betalingskategori

"Card", "Cash or Check", "Digital Wallet", "Financing"

Auto-kategoriseringslogikk: Card-flag → "Card", Cash/Check-nøkkelord → "Cash or Check", CareCredit/Scratchpay → "Financing" osv.

payment_method_name

STRING

Opprinnelig navn på betalingsmåte

"Visa Credit Card", "Cash", "CareCredit"

Rått navn fra praksisadministrasjonssystemet

payment_method_name_standardized

STRING

Standardisert betalingsnavn

"Visa", "Cash", "CareCredit"

Standardiseringslogikk: Mønstermatching (f.eks. '%visa%' → 'Visa', '%mastercard%' → 'Mastercard')

Avdeling- og lokasjonsinformasjon

Kolonne

Type

Beskrivelse

Eksempler

Forretningslogikk

department_id

BIGINT

Avdelings-/klinikken-id

1001, 2005

Lenker til spesifikk klinikklokasjon

department_name

STRING

Avdelings-/klinikknavn

"Main Street Veterinary", "Emergency Clinic Downtown"

Virksomhetsnavn for lokasjonen

department_timezone

STRING

IANA-tidssoneidentifikator

"America/New_York", "Europe/London", "Australia/Sydney"

Brukes for lokale tid-konverteringer

Datofelter (forretningsdatoer)

Kolonne

Type

Beskrivelse

Eksempler

Forretningslogikk

created_date

DATE

Dato for opprettelse av faktura

2024-09-15, 2024-08-22

Datodelen av opprettelsestidsstempelet

invoice_date

DATE

Offisiell fakturadato

2024-09-15, 2024-08-22

Forretningsdato som vises på fakturaen

invoice_due_date

DATE

Forfallsdato for betaling

2024-10-15, 2024-09-22

Når betaling forventes

invoice_paid_date

DATE

Dato da betaling ble mottatt

2024-09-20, NULL

NULL for ubetalte fakturaer

UTC-tidsstempler (systemtider)

Kolonne

Type

Beskrivelse

Eksempler

Forretningslogikk

created_ts_utc

TIMESTAMP

Tidsstempel for opprettelse (UTC)

2024-09-15 14:30:25.123

Systemtid for opprettelse i UTC

invoice_date_ts_utc

TIMESTAMP

Tidsstempel for faktura (UTC)

2024-09-15 12:00:00.000

Fakturadato konvertert til UTC

invoice_due_date_ts_utc

TIMESTAMP

Tidsstempel for forfall (UTC)

2024-10-15 23:59:59.000

Forfallsdato konvertert til UTC

invoice_paid_date_ts_utc

TIMESTAMP

Tidsstempel for betaling (UTC)

2024-09-20 16:45:30.456, NULL

Tidspunkt for mottatt betaling i UTC

Lokale tidsstempler (avdelingens tidssone)

Kolonne

Type

Beskrivelse

Eksempler

Forretningslogikk

created_ts_local

TIMESTAMP

Tidsstempel for opprettelse (lokalt)

2024-09-15 10:30:25.123

invoice_date_ts_local

TIMESTAMP

Tidsstempel for faktura (lokalt)

2024-09-15 08:00:00.000

invoice_due_date_ts_local

TIMESTAMP

Tidsstempel for forfall (lokalt)

2024-10-15 19:59:59.000

invoice_paid_date_ts_local

TIMESTAMP

Tidsstempel for betaling (lokalt)

2024-09-20 12:45:30.456, NULL

Vanlige spørringsmønstre

Inntektsanalyse

-- Monthly revenue by payment methodSELECT     DATE_TRUNC('month', invoice_date) as month,    payment_method_type,    COUNT(*) as invoice_count,    SUM(total_incl_vat) as revenue,    currency_codeFROM production.invoices WHERE provet_id = 'your_practice_id'    AND invoice_status IN ('paid', 'finalized')    AND invoice_date >= '2024-01-01'GROUP BY 1, 2, 5ORDER BY 1 DESC, 4 DESC;

Utestående ford.inger

-- Aging analysis of unpaid invoicesSELECT     CASE         WHEN DATEDIFF(CURRENT_DATE(), invoice_due_date) <= 0 THEN 'Current'        WHEN DATEDIFF(CURRENT_DATE(), invoice_due_date) <= 30 THEN '1-30 days'        WHEN DATEDIFF(CURRENT_DATE(), invoice_due_date) <= 60 THEN '31-60 days'        ELSE 'Over 60 days'    END as aging_bucket,    COUNT(*) as invoice_count,    SUM(amount_due) as total_outstanding,    currency_codeFROM production.invoicesWHERE provet_id = 'your_practice_id'    AND amount_due > 0GROUP BY 1, 4ORDER BY 1;

Veterinærprestasjon

-- Top performing veterinarians by consultation revenueSELECT     supervising_veterinarian_name,    COUNT(DISTINCT invoice_id) as consultations,    SUM(total_incl_vat) as total_revenue,    AVG(total_incl_vat) as avg_consultation_value,    currency_codeFROM production.invoicesWHERE provet_id = 'your_practice_id'    AND invoice_type = 'consultation'    AND supervising_veterinarian_name IS NOT NULL    AND invoice_date >= DATE_SUB(CURRENT_DATE(), 30)GROUP BY 1, 5ORDER BY 3 DESC;

Viktige bruksnotater

Håndtering av flere valutaer

Inkluder alltid currency_code når du aggregerer finansiell data på tvers av avdelinger:

-- CORRECT: Group by currencySELECT currency_code, SUM(total_incl_vat) as revenueFROM production.invoices GROUP BY currency_code;-- INCORRECT: Mixing currenciesSELECT SUM(total_incl_vat) as revenue  -- May mix EUR + USD + GBPFROM production.invoices;

Beste praksis for tidssone

  • Bruk *_ts_local-feltene for forretningsrapportering og brukergrensesnitt

  • Bruk *_ts_utc-feltene for systemintegrasjon og databehandling

  • Vurder alltid avdelingens tidssone når du tolker lokale tidsstempler

Svarte dette på spørsmålet?