Avvii un progetto

Tabella ORIN in SAP Business One (Nota di credito cliente (testata))

ORIN è la tabella di SAP Business One che contiene la testata di ogni nota di credito cliente, il documento che riduce quanto un cliente le deve dopo un reso, una correzione di prezzo o una fattura errata. Le sue righe sono in RIN1, collegate tramite DocEntry, e il suo tipo di oggetto è 14.

Campi chiave di ORIN

CampoContenuto
DocEntryChiave interna. Si collega con RIN1.DocEntry.
DocNumNumero della nota di credito visto dagli utenti, univoco per serie di numerazione.
DocDateData di registrazione. La usi per attribuire i resi al periodo corretto.
CardCodeCliente. Si collega con OCRD.CardCode.
CardNameNome del cliente come stampato sul documento.
NumAtCardRiferimento del cliente, spesso il suo numero di reso o di reclamo.
DocTypeI = nota di credito di articoli, S = nota di credito di servizi (senza ItemCode nelle righe).
DocTotalTotale del credito con imposte, memorizzato come numero positivo.
VatSumImporto dell’imposta. DocTotal - VatSum è il credito netto.
DiscPrcntPercentuale di sconto di testata. Non è inclusa in RIN1.LineTotal.
PaidToDateImporto già compensato con fatture o rimborsato.
DocStatusO = aperta (credito ancora disponibile), C = chiusa.
CANCELEDN = normale, Y = annullata, C = il documento di annullamento stesso.

Come ORIN si collega alle altre tabelle

ORIN è la testata e RIN1 le righe, collegate tramite DocEntry. Il collegamento alla fattura stornata non è nella testata: ogni riga di RIN1 contiene BaseType, BaseEntry e BaseLine. BaseType = 13 significa che la riga è stata copiata da una fattura cliente (BaseEntry = OINV.DocEntry), 16 da un reso (ORDN), e -1 che la nota di credito è stata inserita a mano senza documento base. Nelle versioni attuali, annullare una fattura cliente non crea una riga in ORIN: SAP B1 aggiunge un documento di annullamento in OINV con CANCELED = 'C'.

Join più comuni

  • ORIN T0 INNER JOIN RIN1 T1 ON T0.DocEntry = T1.DocEntry (righe)
  • RIN1 T1 INNER JOIN OINV T2 ON T1.BaseType = 13 AND T1.BaseEntry = T2.DocEntry (fattura cliente originale)
  • ORIN T0 INNER JOIN OCRD T3 ON T0.CardCode = T3.CardCode (anagrafica clienti)
  • ORIN T0 LEFT JOIN OSLP T4 ON T0.SlpCode = T4.SlpCode (agente di vendita)

Quando si usa la tabella ORIN

Ogni report sulle vendite nette ha bisogno di ORIN: fatture di OINV meno note di credito di ORIN, con gli stessi nomi di colonna, quindi basta un UNION ALL. L’amministrazione la usa per controllare i crediti aperti nei saldi clienti, e i responsabili commerciali per vedere quali clienti rendono merce o ricevono correzioni di prezzo più spesso. Nella fatturazione elettronica, ORIN è l’origine della nota di credito inviata all’autorità fiscale, che quasi sempre richiede il riferimento alla fattura originale.

Query di esempio: note di credito con la fattura che stornano

SQL Server

SELECT T0.DocNum AS CreditMemo, T0.DocDate, T0.CardCode, T0.CardName,
  T0.DocTotal, T2.DocNum AS InvoiceNum, T2.DocDate AS InvoiceDate
FROM ORIN T0
LEFT JOIN (SELECT DISTINCT DocEntry, BaseEntry FROM RIN1 WHERE BaseType = 13) T1
  ON T0.DocEntry = T1.DocEntry
LEFT JOIN OINV T2 ON T1.BaseEntry = T2.DocEntry
WHERE T0.CANCELED = 'N' AND T0.DocDate >= '20260101'
ORDER BY T0.DocDate

SAP HANA (nomi delle colonne tra virgolette doppie)

SELECT T0."DocNum" AS "CreditMemo", T0."DocDate", T0."CardCode", T0."CardName",
  T0."DocTotal", T2."DocNum" AS "InvoiceNum", T2."DocDate" AS "InvoiceDate"
FROM ORIN T0
LEFT JOIN (SELECT DISTINCT "DocEntry", "BaseEntry" FROM RIN1 WHERE "BaseType" = 13) T1
  ON T0."DocEntry" = T1."DocEntry"
LEFT JOIN OINV T2 ON T1."BaseEntry" = T2."DocEntry"
WHERE T0."CANCELED" = 'N' AND T0."DocDate" >= '20260101'
ORDER BY T0."DocDate"

Incolli una delle due versioni in Strumenti → Query → Generatore di query. Le serve l’altro dialetto per una Sua query? Usi il convertitore da SQL a HANA.

Errore frequente: Le note di credito inserite a mano non hanno collegamento alla fattura

Quando un utente crea la nota di credito da zero invece di copiarla dalla fattura (Copia da, oppure clic destro Copia in), ogni riga di RIN1 riceve BaseType = -1 e nessun BaseEntry. Nella query precedente queste righe mostrano InvoiceNum vuoto. I report non possono abbinare il credito a una vendita, e gli add-on di fatturazione elettronica falliscono perché la nota di credito deve fare riferimento alla fattura originale: il riferimento di fatturazione di ZATCA, il numDocModificado del SRI, il complemento di riferimento di FEL in Guatemala o il CUFE originale a Panama. Lo blocchi all’origine con una regola in SBO_SP_TransactionNotification per il tipo di oggetto 14 che rifiuti le righe di RIN1 con BaseType = -1, oppure richieda il numero della fattura originale in un campo utente (UDF). Veda Esempi di SBO_SP_TransactionNotification per SQL Server e HANA.

Query pronte che usano ORIN (pagine in inglese)

  • Vendite per cliente in un periodo: Vendite nette per cliente (fatture cliente meno note di credito cliente) tra due date, dalla più alta alla più bassa.
  • Saldi clienti: Tutti i clienti con saldo contabile diverso da zero, con fido e telefono.

Sta costruendo qualcosa su ORIN?

Leggere ORIN (Nota di credito cliente (testata)) con una query è la parte facile. Sviluppiamo l'integrazione della fatturazione elettronica per SAP Business One: fatture e note di credito passano da SAP all'autorità fiscale e lo stato torna in SAP. Oppure guardi tutto il nostro sviluppo SAP Business One.

Tabelle correlate

OINV (Fattura cliente (testata)) · INV1 (Fattura cliente (righe)) · OCRD (Business Partner) · cerca tutte le tabelle di SAP Business One

Fonti: Documentazione e SDK di SAP Business One (riferimento delle tabelle del database della DI API), SAP Help Portal.

Iniziamo?

Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.