Subiekt GT jest w wielu firmach handlowych jedynym miejscem, w którym żyje stan magazynowy. Każda faktura zakupowa musi się w nim znaleźć — i najczęściej trafia tam przez klawiaturę.
Subiekt GT udostępnia Sferę — warstwę programistyczną, przez którą można tworzyć dokumenty tak, jakby robił to użytkownik. To istotne, bo dokument założony przez Sferę przechodzi tę samą kontrolę poprawności co wpisany ręcznie: sprawdzane są kartoteki, jednostki miary, stany i uprawnienia.
Alternatywą bywa zapis wprost do bazy SQL. Jest szybszy, ale omija całą logikę programu i potrafi zostawić dokumenty niespójne z resztą danych. Przy dokumentach magazynowych to droga, której lepiej nie wybierać.
Trzecia możliwość to import z pliku o ustalonej strukturze. Nie wymaga programowania i wystarcza w prostych przypadkach, ale kończy się tam, gdzie zaczynają się reguły: dopasowanie pozycji, obsługa wyjątków, decyzja o rodzaju dokumentu.
Import to ostatni etap. Wcześniej dokument trzeba pozyskać i odczytać — z pliku przysłanego przez dostawcę, z systemu e-fakturowego albo z wydruku przez automatyczne wczytywanie faktur zakupowych. Sam Subiekt nie zajmuje się tym etapem; dostaje gotowy zestaw danych i zakłada z niego dokument.
Z faktury dostawcy zwykle tworzy się FZ (faktura zakupu) albo parę PZ (przyjęcie zewnętrzne) i FZ, zależnie od tego, czy towar przyjmowany jest w innym momencie niż rozliczany. Wybór nie jest techniczny, tylko wynika ze sposobu pracy magazynu — rozstrzygnięcie opisuje tekst o automatycznym tworzeniu dokumentów PZ i FZ.
To najczęstszy powód, dla którego import zatrzymuje się w połowie. Rozsądne rozwiązanie nie zgaduje: dokument powstaje z pozycjami rozpoznanymi, a nierozpoznane trafiają na listę do decyzji człowieka. Automatyczne zakładanie nowych kartotek przy każdej nieznanej nazwie kończy się magazynem, w którym ten sam towar występuje pod pięcioma indeksami.
Udział takich pozycji spada z czasem, o ile mechanizm zapamiętuje potwierdzone decyzje. Jak to działa, opisuje tekst o dopasowaniu pozycji faktury do kartoteki.
Import przez Sferę obciąża serwer bazy tak samo jak praca użytkowników. Przy większych partiach dokumentów warto uruchamiać go poza godzinami szczytu i unikać sytuacji, w której skrypt blokuje kartoteki potrzebne handlowcom.
Przydaje się też ograniczenie wielkości jednej partii. Przerwany import kilkuset dokumentów zostawia stan trudny do odtworzenia; przerwany import kilkunastu wystarczy powtórzyć.
Jeżeli faktur jest niewiele, a kartoteka wymaga uporządkowania, wdrożenie importu odłoży problem, zamiast go rozwiązać. Sensowniejsza kolejność to najpierw deduplikacja towarów i kontrahentów, potem odczyt dokumentów, a na końcu automatyczne zakładanie dokumentów w Subiekcie.