Ten dokument tłumaczy, jak w AkceptujFaktury.pl działa wielofirmowość: skąd aplikacja „wie”, które firmy (katalogi NIP) pokazać zalogowanemu użytkownikowi, i dlaczego całą tę logikę steruje wyłącznie jedno ustawienie – katalog startowy konta FTP/FTPS/SFTP. Opisujemy też realne ograniczenie techniczne dotyczące grupowania wielu firm pod jednym wspólnym kontem oraz to, gdzie faktycznie ląduje katalog nowo założonej firmy.
Zanim przejdziemy do przykładów, warto ustalić dwa pojęcia, na których opiera się cała logika dostępu.
| Pojęcie | Co to znaczy w praktyce | Przykład |
|---|---|---|
| Katalog startowy konta FTP | Katalog, w którym ląduje sesja zaraz po zalogowaniu na serwer FTP/FTPS/SFTP. Ustawia się go wyłącznie na samym serwerze plików (w konfiguracji konta FTP) – to nie jest ustawienie w aplikacji AkceptujFaktury.pl. Aplikacja jedynie odczytuje, co znajduje się w tym katalogu po zalogowaniu. | /dane_klienta/ |
| Firma (NIP) | Katalog, którego nazwą jest 10-cyfrowy numer NIP. To jedyny format nazwy katalogu, który aplikacja rozpoznaje jako „firmę”. | 1234567890/ |
| Zawartość katalogu firmy | Plik firma.json oraz podkatalogi Zakup/, Sprzedaz/, Archiwum/. |
firma.json, Zakup/, Sprzedaz/, Archiwum/ |
Ważne: to, które katalogi NIP zobaczy dany użytkownik, wynika wyłącznie z tego, gdzie ląduje jego sesja FTP zaraz po zalogowaniu – aplikacja nie ma żadnego innego, niezależnego od serwera FTP, mechanizmu przypisywania firm do kont. Innymi słowy: to serwer FTP decyduje o dostępie, a aplikacja tylko odczytuje to, co widzi w katalogu startowym.
Zaraz po zalogowaniu aplikacja musi zdecydować, czy pokazać ekran wyboru firmy (gdy widzi więcej niż jedną firmę), przejść od razu do pracy na jednej firmie (gdy katalog startowy to wprost katalog NIP), czy zaproponować założenie nowej firmy (gdy nie znajdzie żadnego katalogu NIP). Poniższy schemat pokazuje ten proces w trzech krokach.
Uwaga techniczna (istotne ograniczenie): skanowanie „jeden poziom w dół” dotyczy momentu
logowania. Osobno, już na ekranie wyboru firmy (select_company.php), aplikacja wykonuje nieco
głębsze skanowanie – do dwóch poziomów w dół – które potrafi rozpoznać także pośredni katalog
„organizacji”. Ale tylko wtedy, gdy nazwa tego pośredniego katalogu również jest 10-cyfrowym
numerem, a nie dowolną nazwą firmową.
Aplikacja odczytuje maksymalnie dwa poziomy katalogów od miejsca, w którym ląduje sesja FTP – a pośredni poziom „organizacji” rozpoznaje tylko wtedy, gdy jego nazwa też jest 10-cyfrowym numerem, a nie dowolną nazwą biznesową. W praktyce oznacza to, że swobodne nazywanie katalogów organizacji (np. „COMSNER”, „BIURO-A”) nie zadziała, jeśli chcesz, aby jedno konto FTP „widziało” od razu wszystkie firmy w kilku takich organizacjach.
W praktyce chodzi tylko o jedno ustawienie na serwerze: gdzie wskażesz katalog startowy danego konta FTP. Poniżej trzy typowe scenariusze – dwa pierwsze działają w aplikacji niezawodnie, trzeci wymaga innego podejścia niż mogłoby się wydawać intuicyjne.
Innymi słowy: pojęcie „organizacji” w AkceptujFaktury.pl nie jest odrębną, samodzielnie obsługiwaną kategorią danych – to po prostu dowolny folder, na który wskazuje katalog startowy konta FTP. Gdy chcesz pogrupować wiele takich „organizacji” pod jednym wspólnym kontem administracyjnym, potrzebna jest jedna z dwóch dróg opisanych w karcie 3. powyżej.
Gdy w aktualnym katalogu (tam, gdzie wystartowała sesja FTP) nie ma jeszcze katalogu firmy o danym NIP, aplikacja pozwala go założyć. Nowy katalog NIP jest zawsze tworzony bezpośrednio w katalogu startowym bieżącej sesji FTP – nigdy wewnątrz wybranego wcześniej podfolderu organizacji, nawet jeśli interfejs w danym miejscu sugeruje, że najpierw wybierasz docelową organizację. Warto to mieć na uwadze przy planowaniu struktury katalogów, żeby nowo utworzona firma nie „zaskoczyła” swoją lokalizacją.
/dane_klienta/ ← katalog startowy bieżącej sesji FTP
└── 5556667778/ ← nowa firma (NIP) – zawsze tutaj
├── firma.json
├── Zakup/
├── Sprzedaz/
└── Archiwum/
Zakup/, Sprzedaz/, Archiwum/.firma.json oraz JSON statusów/notatek/historii muszą się zapisywać obok XML.| Objaw | Najczęstsza przyczyna | Co zrobić |
|---|---|---|
| Nie widać żadnych firm | Katalog startowy nie zawiera bezpośrednio żadnego katalogu NIP, albo katalogi NIP mają nieprawidłową nazwę (nie 10 cyfr) | Sprawdź, czy w katalogu startowym są foldery nazwane dokładnie 10-cyfrowym NIP |
| Widać za dużo firm | Katalog startowy ustawiony zbyt wysoko – zawiera więcej firm niż powinien widzieć dany użytkownik | Ustaw katalog startowy niżej, np. bezpośrednio na docelowy podfolder z właściwymi NIP-ami |
| Statusy/notatki nie zapisują się | Brak uprawnień zapisu w katalogach firmy | Nadaj prawo zapisu dla Zakup/, Sprzedaz/, Archiwum/ |
| Widzę więcej firm niż powinienem | Katalog startowy wskazuje na wspólny folder nadrzędny zamiast na węższy podfolder | Zawęź katalog startowy do konkretnego NIP-u lub konkretnej grupy firm |
| Konto z dostępem do katalogu głównego nie widzi firm zagnieżdżonych w podkatalogach o nazwach biznesowych (np. COMSNER, BIURO-A) | Aplikacja rozpoznaje pośredni poziom katalogów tylko, gdy jego nazwa jest też 10-cyfrowym numerem – inaczej się zatrzymuje | Użyj osobnego konta FTP dla każdej grupy firm (katalog startowy = folder tej grupy) albo nazwij katalogi pośrednie numerycznie |
Kto decyduje, które firmy widzi dany użytkownik?
Wyłącznie katalog startowy jego konta FTP/FTPS/SFTP, ustawiony na serwerze plików. Aplikacja nie ma
odrębnego mechanizmu przypisywania firm.
Czy mogę mieć jedno konto do kilku firm?
Tak. Ustaw katalog startowy na folder, który bezpośrednio zawiera katalogi NIP tych firm.
Jak ograniczyć dostęp do jednej firmy?
Ustaw katalog startowy konta na konkretny katalog NIP.
Czy jedno konto administracyjne może od razu zobaczyć wszystkie firmy zgrupowane w kilku
podkatalogach o nazwach biznesowych?
Obecnie nie, nie w sposób niezawodny. Skanowanie przy logowaniu sprawdza tylko jeden poziom w dół,
a dwupoziomowe skanowanie na ekranie wyboru firmy rozpoznaje pośredni poziom wyłącznie wtedy, gdy jego
nazwa jest 10-cyfrowym numerem. Rekomendujemy osobne konto FTP dla każdej grupy firm, ewentualnie
nazywanie katalogów pośrednich numerycznie, jeśli koniecznie potrzebne jest jedno wspólne konto.
Gdzie trafia katalog nowo założonej firmy?
Zawsze bezpośrednio do katalogu startowego bieżącej sesji FTP – niezależnie od tego, czy w interfejsie
wcześniej wybierałeś jakiś podfolder organizacji.
Co jest minimum, aby system działał poprawnie?
Katalog firmy musi zawierać firma.json oraz podkatalogi Zakup,
Sprzedaz, Archiwum, a użytkownik musi mieć prawo zapisu w tych katalogach.