еФакт™
Македонски

Рана верзија, се тестира на тест-околината на УЈП

Е-фактура до УЈП без главоболки.

еФакт е десктоп апликација за системот за електронски фактури на УЈП. Работи на Windows, macOS и Linux, потпишува со вашиот сертификат и ги чува излезните и влезните документи на едно место.

Сè на еден поглед

Колку сте издале и примиле, разликата во ДДВ, што чека ваша одлука и кој купувач уште не одговорил.

Екранот „Преглед“ во еФакт: збир на издадени и примени фактури, разлика во ДДВ, графикон по денови, документи што чекаат одговор и најголеми купувачи.
Демо режим со измислени податоци.

Целиот тек на документот, во една апликација

Излезни фактури

  1. Издадете

    Внесете ставки. Апликацијата ги пресметува ДДВ-то и збировите според шифрарниците на УЈП.

  2. Потпишете

    Документот се потпишува на вашиот компјутер, со вашиот квалификуван сертификат.

  3. Пратете

    Фактурата оди директно до УЈП. Добивате EUID, статус и QR линк.

  4. Сторнирајте или коригирајте

    Испратена фактура не се брише. Апликацијата подготвува сторно или корекција со референца на оригиналот.

Влезни фактури

  1. Примете

    Ги гледате фактурите што ви ги пратиле други фирми, со PDF и оригиналниот потпишан документ.

  2. Прифатете или одбијте

    Одбивањето оди со причина од шифрарникот на УЈП и ваш коментар.

  3. Распределете го влезниот ДДВ

    Ги внесувате основата и ДДВ-то по индикатор, за правото на одбивка.

Исто така: пребарување даночни обврзници по ЕДБ, курсна листа на НБРСМ, сите шифрарници, историја на статуси и преземање PDF и ASiC.

Што ви треба пред првата фактура

Апликацијата ги користи истите податоци како и порталот на УЈП.

  • ЕДБ на фирмата.
  • Пристап до системот е-Фактура на УЈП и вашиот еУЈП идентификатор.
  • Квалификуван сертификат за електронски потпис: датотека .p12, USB токен или смарт-картичка.

Нема сертификат? Можете да ги пребарувате обврзниците и шифрарниците и без него.

Клучот за потпис останува кај вас

Потпишувањето се прави локално. Приватниот клуч не го напушта вашиот компјутер или токен, а PIN-от не се зачувува: стои во меморија само додека апликацијата е отворена.

Вашите податоци остануваат кај вас

еФакт е апликација на вашиот компјутер, не веб-сервис. Без додатоците, фактурите, сертификатот и PIN-от не минуваат преку нас.

Немаме пристап до вашите фактури, купувачи, сертификати ни лозинки.

На вашиот јазик

Апликацијата е на македонски, со англиски, албански, српски и турски. Јазикот се менува од менито, без рестарт.

За програмери

Истото SDK, за вашиот софтвер

Секој повик до УЈП во апликацијата оди преку нашето SDK: потпишување, праќање, листи, сторно, корекции и шифрарници. Ако имате свој ERP или сметководствен софтвер, истото SDK можете да го купите и да го вградите во него.

SDK за Rust, TypeScript, Python, PHP, .NET, Java и Go — упатства и примери на страницата за програмери.

Праќање фактура со USB токен
import { UjpClient, Pkcs11Signer } from "@rid/efakt";

const signer = await Pkcs11Signer.open({
  module: "/usr/lib/opensc-pkcs11.so",
  pin,
});

const ujp = new UjpClient({
  environment: "test",
  edb, eujpId,
  signer,
});

const sent = await ujp.sendInvoice(invoice);
console.log(sent.euid, sent.qrLink);
from efakt import Environment, Pkcs11Signer, UjpClient

signer = Pkcs11Signer.open(
    module="/usr/lib/opensc-pkcs11.so",
    pin=pin,
)

ujp = UjpClient(
    environment=Environment.TEST,
    edb=edb, eujp_id=eujp_id,
    signer=signer,
)

sent = ujp.send_invoice(invoice)
print(sent.euid, sent.qr_link)
<?php
use Rid\Efakt\{Environment, Pkcs11Signer, UjpClient};

$signer = Pkcs11Signer::open(
    module: '/usr/lib/opensc-pkcs11.so',
    pin: $pin,
);

$ujp = new UjpClient(
    environment: Environment::Test,
    edb: $edb, eujpId: $eujpId,
    signer: $signer,
);

$sent = $ujp->sendInvoice($invoice);
echo $sent->euid, ' ', $sent->qrLink;
using Rid.Efakt;
using Rid.Efakt.Signing;

using var signer = Pkcs11Signer.Open(
    module: "/usr/lib/opensc-pkcs11.so",
    pin: pin);

var ujp = new UjpClient(new ClientConfig
{
    Environment = UjpEnvironment.Test,
    Edb = edb, EujpId = eujpId,
    Signer = signer,
});

var sent = await ujp.SendInvoiceAsync(invoice);
Console.WriteLine($"{sent.Euid} {sent.QrLink}");
import mk.rid.efakt.*;

var signer = Pkcs11Signer.open(
    "/usr/lib/opensc-pkcs11.so", pin);

var ujp = UjpClient.builder()
    .environment(Environment.TEST)
    .edb(edb).eujpId(eujpId)
    .signer(signer)
    .build();

var sent = ujp.sendInvoice(invoice);
System.out.println(sent.euid() + " " + sent.qrLink());
signer, err := efakt.OpenPKCS11(efakt.PKCS11{
	Module: "/usr/lib/opensc-pkcs11.so",
	PIN:    pin,
})
if err != nil {
	return err
}

ujp := efakt.NewClient(efakt.Config{
	Environment: efakt.Test,
	EDB:         edb,
	EUJPID:      eujpID,
	Signer:      signer,
})

sent, err := ujp.SendInvoice(ctx, invoice)
if err != nil {
	return err
}
fmt.Println(sent.EUID, sent.QRLink)
let signer = SignerSource::Pkcs11 {
    module: "/usr/lib/opensc-pkcs11.so".into(),
    slot_id: None,
    object_id_hex: None,
}.open(&pin)?;

let ujp = UjpClient::new(ClientConfig {
    environment: Environment::Test,
    edb, eujp_id,
    ..Default::default()
})?.with_signer(signer)?;

let sent = ujp.send_invoice(invoice).await?;
println!("{:?} {:?}", sent.euid, sent.qr_link);

Пробајте ја раната верзија

Апликацијата сега се тестира на тест-околината на УЈП. Пишете ни ако сакате да ја пробате со вашата фирма.

  • Windows
  • macOSApple Silicon и Intel
  • Linux