# Integracje systemów księgowych z THTG Integrator

## Comarch ERP Optima

### Architektura integracji

Integracja realizowana jest przez aplikację pośredniczącą **ThtgEsb**, instalowaną na serwerze klienta z dostępem do Optimy. Komunikacja odbywa się przez szynę danych THTG, dzięki czemu serwer z Optimą nie musi być wystawiony do Internetu. ThtgEsb musi jedynie posiadać dostęp do Internetu.

```text
THTG Integrator
       ⇅
    Szyna danych
       ⇅
     ThtgEsb
       ⇅
Comarch ERP Optima
```

### Wymagania

* dostęp do serwera z Optimą,
* instalacja aplikacji ThtgEsb,
* login i hasło operatora Optimy,
* lista baz danych/spółek,
* testowa baza danych utworzona na podstawie produkcyjnej,
* wolna licencja użytkownika Optimy dla ThtgEsb.

> Integracja nie współpracuje z wersją chmurową Comarch ERP Optima.

### Dane wymagane od klienta

* dostęp do serwera,
* dane VPN (jeżeli wykorzystywany),
* operator Optimy dla THTG,
* dostęp do bazy testowej i produkcyjnej,
* konfiguracja spółek:

  * nazwa firmy,
  * NIP,
  * rachunki bankowe (jeżeli wykorzystywane).

### Zakres integracji

#### Kontrahenci (THTG → Optima)

Automatyczne tworzenie kontrahentów:

* po utworzeniu kontrahenta,
* po modyfikacji kontrahenta,
* po podpisaniu umowy.

Weryfikacja duplikatów odbywa się na podstawie:

* NIP,
* PESEL.

Automatyczne generowanie kodów:

* `K_{id klienta}`
* `KT_{id kontrahenta}`

Przykłady:

* `K_3123`
* `KT_3121`

#### Faktury (THTG → Optima)

Obsługiwane są:

* faktury kosztowe,
* faktury sprzedażowe.

Dokumenty przesyłane są bezpośrednio do rejestrów VAT:

* zakupowego,
* sprzedażowego.

#### Dekretacja kosztów

**Tryb 1**

* elementy dekretacji przesyłane jako osobne pozycje faktury,
* brak przypisanych kategorii kosztowych.

**Tryb 2**

* elementy dekretacji przesyłane jako osobne pozycje faktury,
* automatyczne przypisywanie kategorii kosztowych na podstawie planu kont.

Przykład:

```text
501-432

501 → Kategoria
432 → Kategoria2
```

> Plan kont w Optimie i Integratorze musi być identyczny. W przeciwnym przypadku pozycje zostaną przesłane bez przypisanych kategorii.

#### Operacje bankowe

Obsługiwane są:

* zapisy kasowe,
* zapisy bankowe,
* import wyciągów bankowych.

Dostępne integracje bankowe:

* mBank,
* PKO BP.

### Procedura wdrożenia

1. Ustalenie zakresu integracji.
2. Przekazanie dostępu do serwera oraz VPN.
3. Utworzenie bazy testowej.
4. Utworzenie operatora Optimy dla THTG.
5. Instalacja ThtgEsb.
6. Testy integracji na bazie testowej.
7. Testy wspólne z klientem.
8. Uruchomienie integracji na środowisku produkcyjnym.

---

## Symfonia WebAPI

### Architektura integracji

Integracja wykorzystuje oficjalny moduł **Symfonia WebAPI**.

```text
THTG Integrator
       ⇅
   Symfonia WebAPI
       ⇅
      Symfonia
```

### Wymagania

* uruchomiona usługa WebAPI,
* publiczny adres usługi WebAPI,
* token autoryzacyjny,
* nazwa spółki.

> Moduł Symfonia WebAPI jest dodatkowo płatny.

> W przypadku wielu spółek wymagane jest uruchomienie osobnych instancji WebAPI.

### Dane przekazywane do THTG

* adres WebAPI,
* token autoryzacyjny,
* nazwa spółki.

### Zakres integracji

#### Kontrahenci (THTG → Symfonia)

Automatyczne tworzenie kontrahentów:

* po utworzeniu kontrahenta,
* po modyfikacji kontrahenta,
* po podpisaniu umowy.

Dla umów obejmujących wielu klientów tworzony jest jeden kontrahent zawierający dane wszystkich klientów.

#### Faktury (THTG → Symfonia)

Obsługiwane są:

* faktury kosztowe,
* faktury sprzedażowe.

Źródła dokumentów:

* moduł EOD,
* moduł Faktury.

Faktury są dekretowane zgodnie z konfiguracją Integratora.

> Do Symfonii nie są przesyłane pliki PDF faktur.

### Procedura wdrożenia

1. Ustalenie zakresu integracji.
2. Instalacja i konfiguracja WebAPI.
3. Utworzenie bazy testowej.
4. Testy integracji po stronie THTG.
5. Testy wspólne z klientem.
6. Konfiguracja pozostałych baz.
7. Uruchomienie integracji produkcyjnej.

---

## Symfonia THTG API

### Architektura integracji

Rozwiązanie wykorzystuje dedykowane API przygotowane przez THTG i instalowane na serwerze klienta.

```text
THTG Integrator
       ⇅ HTTPS
  Symfonia THTG API
       ⇅
      SQL Server
       ⇅
      Symfonia
```

### Wymagania

* IIS,
* ASP.NET Core Hosting Bundle,
* dostęp do bazy danych Symfonii.

### Konfiguracja

Konfiguracja realizowana jest poprzez plik `appsettings.local.json`.

Przykład:

```json
{
  "Databases": [
    {
      "Name": "demo",
      "Server": "SERVERSQL",
      "Database": "BAZA_THTG",
      "User": "THTG",
      "Password": "THTG2"
    }
  ],
  "ApiKey": "2Tr5RsPkTGKAxC"
}
```

### Opis parametrów

| Parametr | Opis                                      |
| -------- | ----------------------------------------- |
| Name     | Przyjazna nazwa bazy przekazywana do THTG |
| Server   | Nazwa lub adres serwera SQL               |
| Database | Nazwa bazy danych spółki                  |
| User     | Użytkownik Symfonii                       |
| Password | Hasło użytkownika Symfonii                |
| ApiKey   | Klucz autoryzacyjny przekazywany do THTG  |

### Dane przekazywane do THTG

Po uruchomieniu aplikacji klient przekazuje:

* adres aplikacji,
* przyjazne nazwy baz dla każdej spółki,
* klucz autoryzacyjny API.

### Charakterystyka rozwiązania

W porównaniu do Symfonia WebAPI:

* nie wymaga zakupu modułu Symfonia WebAPI,
* wykorzystuje dedykowane API THTG,
* umożliwia obsługę wielu spółek w ramach jednej instalacji,
* komunikacja realizowana jest przez HTTPS.

---

# Porównanie rozwiązań

| Obszar                   | Comarch ERP Optima                 | Symfonia WebAPI                           | Symfonia THTG API             |
| ------------------------ | ---------------------------------- | ----------------------------------------- | ----------------------------- |
| Komponent integracyjny   | ThtgEsb                            | Symfonia WebAPI                           | Symfonia THTG API             |
| Dostęp do Internetu      | ThtgEsb                            | WebAPI                                    | IIS / API                     |
| Dodatkowa licencja       | Zalecana osobna licencja operatora | Płatny moduł WebAPI                       | Brak modułu WebAPI            |
| Kontrahenci              | Tak                                | Tak                                       | Tak                           |
| Faktury sprzedażowe      | Tak                                | Tak                                       | Tak                           |
| Faktury kosztowe         | Tak                                | Tak                                       | Tak                           |
| Dekretacja               | Tak                                | Tak                                       | Tak                           |
| Operacje bankowe         | Tak                                | Brak w dokumentacji                       | Brak w dokumentacji           |
| Obsługa wielu spółek     | Tak                                | Osobna instancja WebAPI dla każdej spółki | Tak                           |
| Wersja chmurowa          | Nieobsługiwana                     | Zależna od środowiska Symfonii            | Zależna od środowiska klienta |
| Publiczny adres wymagany | Nie                                | Tak                                       | Tak                           |