Księgowanie zapisów dziennika w NetSuite
Księguj zapisy dziennika z tabel projektu PlaidCloud w NetSuite za pomocą kroku Post NetSuite Journal Entry przepływu pracy. Ten przewodnik buduje partię z tabeli nagłówków i tabeli wierszy, wyświetla jej podgląd bez kontaktu z NetSuite, a następnie ją księguje i odczytuje wynik.
Wymagania wstępne
Dział zatytułowany „Wymagania wstępne”- Działające połączenie NetSuite z rolą, która może tworzyć zapisy dziennika (dostęp Create do rekordu Journal Entry, oprócz konfiguracji REST/OAuth opisanej w przewodniku dotyczącym odczytu).
- Dwie tabele źródłowe w projekcie:
- Tabela nagłówków z jednym wierszem na każdy zapis dziennika.
- Tabela wierszy z jednym lub wieloma wierszami debetowymi/kredytowymi na każdy zapis dziennika.
Przygotowanie tabel nagłówków i wierszy
Dział zatytułowany „Przygotowanie tabel nagłówków i wierszy”-
Zbuduj lub zaimportuj tabelę nagłówków z jednym wierszem na każdy zapis dziennika. Minimalnie potrzebuje ona:
Kolumna Mapowana na Wymagana Identyfikator dziennika Journal ID Tak Spółka zależna NetSuite Subsidiary Tak Data zapisu Posting Date Tak Waluta NetSuite Currency Nie Opis na poziomie zapisu Memo Nie Zewnętrzny identyfikator podany przez wywołującego External ID Nie -
Zbuduj lub zaimportuj tabelę wierszy z jednym lub wieloma wierszami na każdy zapis dziennika, z tym samym identyfikatorem dziennika co wiersz nagłówka:
Kolumna Mapowana na Wymagana Identyfikator dziennika Journal ID Tak Konto księgi głównej Account Tak Kwota po stronie Wn (0, jeśli brak) Debit Tak Kwota po stronie Ma (0, jeśli brak) Credit Tak Opis na poziomie wiersza Memo Nie Dział, klasa, lokalizacja, jednostka Department / Class / Location / Entity Nie -
Zgrupuj kwoty w tych dwóch tabelach na takim poziomie, na jakim księgujesz — jeden zapis na dzień, na dokument lub na partię — używając zwykłych kroków tabel (tabeli przestawnej, agregacji z grupowaniem lub złączenia). Identyfikator dziennika łączy zestaw wierszy z jego nagłówkiem, więc zbuduj go jako klucz unikatowy dla każdego zapisu dziennika i wspólny dla wszystkich należących do niego wierszy.
Konfiguracja kroku
Dział zatytułowany „Konfiguracja kroku”-
Dodaj do przepływu pracy krok Post NetSuite Journal Entry.
-
Na karcie Connection ustaw NetSuite Connection na swoje połączenie NetSuite i wybierz Environment.
-
Na karcie Data:
- Ustaw Journal Entry Header Table i Journal Entry Lines Table na tabele zbudowane powyżej.
- Na razie pozostaw zaznaczone Test Only Mode — zobacz Podgląd i weryfikacja.
- Pozostaw zaznaczone Continue posting remaining entries if one entry fails, chyba że wolisz, aby partia zatrzymała się na pierwszym błędnym zapisie.
- Pozostaw wyłączone Submit Asynchronously, chyba że konieczna jest ścieżka asynchronicznego przyjmowania w NetSuite dla partii o dużej objętości — zobacz Przesyłanie asynchroniczne poniżej.
- Ustaw Posting Result Table na tabelę, którą PlaidCloud może utworzyć lub nadpisać. Będzie ona potrzebna przy każdym uruchomieniu, nie tylko za pierwszym razem — zobacz Odczyt tabeli wyników.
-
Na karcie Header Map zmapuj kolumny tabeli nagłówków na Journal ID, Subsidiary, Posting Date oraz (jeśli je masz) Currency, Memo i External ID. Użyj Header Filters, jeśli chcesz zaksięgować tylko podzbiór wierszy nagłówka.
-
Na karcie Line Map zmapuj kolumny tabeli wierszy na Journal ID, Account, Debit, Credit oraz (jeśli je masz) Memo, Department, Class, Location i Entity. Użyj Line Filters w ten sam sposób.
Podgląd i weryfikacja
Dział zatytułowany „Podgląd i weryfikacja”Przy zaznaczonym Test Only Mode uruchom krok. PlaidCloud buduje każdy zapis dziennika ze zmapowanych danych i wykonuje te same sprawdzenia, które wykonałby przed księgowaniem — zbilansowanie debetów i kredytów, obecność wymaganych pól, prawidłową datę księgowania — bez ani jednego wywołania NetSuite. Nic nie zostaje zaksięgowane.
-
Uruchom krok (zobacz Uruchamianie jednego kroku w przepływie pracy).
-
Otwórz tabelę wyników i upewnij się, że każdy wiersz, który miał zostać zaksięgowany, ma
status = validated. Każdy wiersz z wartościąerrorwskazuje identyfikator dziennika zapisu i problem — najczęściej niezbilansowany zapis, brakujące konto (Account) albo puste pole Subsidiary lub Posting Date. -
Popraw dane źródłowe (lub mapowania i filtry) dla każdego wiersza
errori uruchamiaj ponownie, aż partia przejdzie weryfikację bez błędów.
Księgowanie partii
Dział zatytułowany „Księgowanie partii”Gdy partia przejdzie weryfikację bez błędów, odznacz Test Only Mode i uruchom krok ponownie. Tym razem PlaidCloud faktycznie księguje w NetSuite każdy zweryfikowany zapis.
Przesyłanie asynchroniczne
Dział zatytułowany „Przesyłanie asynchroniczne”Submit Asynchronously wysyła każdy zapis z asynchronicznym nagłówkiem akceptacji NetSuite zamiast czekać na synchroniczne utworzenie i odczyt zwrotny. NetSuite umieszcza zapis w kolejce i odpowiada natychmiast; PlaidCloud rejestruje go jako pending wraz z odwołaniem do przesłania, a nie jako posted lub error.
Odczyt tabeli wyników
Dział zatytułowany „Odczyt tabeli wyników”Tabela wyników zawiera jeden wiersz na każdy zapis dziennika, którego dotyczyła próba, niezależnie od trybu, w którym uruchomiono krok:
| Kolumna | Opis |
|---|---|
| journal_id | Identyfikator dziennika z tabeli nagłówków. |
| external_id | Zewnętrzny identyfikator użyty w tej próbie księgowania (patrz niżej). |
| internal_id | Wewnętrzny identyfikator NetSuite utworzonego zapisu lub odwołanie do przesłania asynchronicznego, gdy status to pending. Puste w Test Only Mode i w przypadku błędu. |
| status | validated, posted, pending (Submit Asynchronously — zapis przyjęto, ale NetSuite go jeszcze nie potwierdził) lub error. |
| message | Szczegóły błędu przy error. Puste przy posted/validated. |
Kolejne kroki — powiadomienie o każdym wierszu error, złączenie z tabelą nagłówków w celu zapisania internal_id — buduj na tej tabeli, a nie na statusie uruchomienia samego kroku, ponieważ jeden błędny zapis w dużej partii nie powoduje niepowodzenia całego kroku, gdy włączono Continue posting remaining entries.
Bezpieczne ponowne uruchamianie partii
Dział zatytułowany „Bezpieczne ponowne uruchamianie partii”Każdy zapis jest księgowany z deterministycznym zewnętrznym identyfikatorem zbudowanym z projektu, połączenia, identyfikatora dziennika, daty księgowania i kwot jego wierszy. Ponowne uruchomienie kroku dla niezmienionego zapisu używa tego samego zewnętrznego identyfikatora, a mechanizm obsługi zewnętrznych identyfikatorów w NetSuite zapobiega utworzeniu duplikatu — dlatego ponowne uruchomienie przepływu pracy po przejściowej awarii jest bezpieczne dla zapisów, które się nie zmieniły.
Powiązane
Dział zatytułowany „Powiązane”- Połączenie z NetSuite — konfiguracja połączenia, przez które ten krok księguje
- Opis kroku Post NetSuite Journal Entry — pełny opis pól i konfiguracji
- Przykłady zapytań SuiteQL w NetSuite — pobierz spółki zależne, konta i wymiary, których potrzebujesz jako wewnętrznych identyfikatorów
- Zaawansowane użycie Data Mapper