---
title: "Declaring the month"
description: "Take a closed month's contribution and tax figures out of Beelocity as a spreadsheet file, carry them to the CNAS declaration and the G50, and record that you paid them."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.beelocity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Declaring the month

Every month an Algerian employer declares the same wages twice: once to `CNAS`, the social-security
fund, for the contributions, and once to the tax office on the `G50`, for the `IRG` withheld from
pay. Both declarations ask for figures Beelocity already worked out when it closed the month. This
page is how you get them out of the screen and onto the form without typing them twice, and how
you record that you paid them.

It is for the accountant or the clerk who files the declarations. Everything the payroll hands to
the authorities is on one page, **Payroll › Declarations**, in three tabs: **Monthly declarations**,
**Annual declarations** and **Payroll book**. Working the month out and closing it is
[Monthly payroll](payroll-run.html); paying it is [Paying the salaries](payroll-payment.html).

<a id="see-the-months-figures"></a>
## See the month's figures

Open **Payroll › Declarations**. The first tab, **Monthly declarations**, opens on the latest
closed month; pick another in **Month**. Under the month you see when its declarations are due
([below](#when-each-is-due)), then its figures. A closed month carries the same figures on its own
**Declaration figures** tab, under **Payroll › Months**.

The figures come in two parts, because the two declarations ask different things:

- **Social security** — one line per person, with their employee number, their name, their
  social-security number and what the month counted for them: the contribution base, the
  employee's contribution, the employer's contribution and social works. Underneath, the totals,
  and **Total contributions** — the employee's share, the employer's and social works added
  together, which is the one figure the `CNAS` declaration asks for.
- **Income tax** — the month's taxable pay and the `IRG` withheld, which is the salary line of the
  `G50`.

**Only a closed month has figures to declare.** A month that is still a draft can change, and a
figure copied onto a declaration from a draft is the mistake these figures exist to prevent. Pick a
month that is not closed and the tab says so, with its due dates; close the month first.

<a id="export-the-figures"></a>
## Take the figures away as a file

On **Monthly declarations**, click **Export the month's declaration figures** beside the month. The
same file is in **More actions** at the bottom of a closed month's own page; on a month that is not
closed yet it is greyed out there, because the figures are declared from a closed month. Beelocity hands your browser a spreadsheet file (`.csv`) and it lands in
your downloads.

Open it in your spreadsheet application. It has one row per person, in employee-number order — the
order the fund keeps its own listing in — and ten columns, headed in the language you are reading
Beelocity in:

| Column | What it is |
|---|---|
| Employee number | the person's number on your register |
| Social-security number | their `CNAS` registration number, blank if you have not recorded it |
| Last name, First name | in two columns, because that is how the fund's listing takes them |
| Contribution base | what their pay counted for social security this month |
| Employee contribution | the share withheld from their pay |
| Employer contribution | the share your business owes on top |
| Social works | the social-works share your business owes |
| Taxable pay | what their pay counted for income tax |
| Income tax | the `IRG` withheld from them |

**There is no total row.** The totals are on the screen, under the listing —
and a file whose last row is not a person cannot be sorted or pasted as a block, which is what you
will want to do with it. Your spreadsheet sums a column in one click.

**The figures are exactly the ones on screen.** Nothing is rounded or reformatted on the way into
the file: what you read on the tab is what lands in the cell.

<a id="when-each-is-due"></a>
## When each declaration is due

Beelocity shows when each declaration is due: the month's two on **Monthly declarations**, the
year's two on **Annual declarations**, and the next of all four on the Payroll home. Each date names
the article of the law it comes from.

| Declaration | For | Due | The law |
|---|---|---|---|
| `G50` | the `IRG` withheld in a month | by the 20th of the next month | Direct taxes code, article 129-1 |
| `CNAS` | a month's contributions, declared and paid | thirty days after the month — or after the quarter, for a business of nine people or fewer | Law 83-14, article 21 |
| `DAS` | the year's wages, to the fund | thirty days after the year: 30 January | Law 83-14, article 14 |
| `G29` | the year's wages, to the tax office | 30 April | Direct taxes code, article 75-3 |

- **Thirty days after a period is not the 30th.** January's contributions are due on 2 March, and
  on 1 March in a leap year.
- **Monthly or quarterly depends on how many people you employ.** The law asks for monthly
  contributions above nine workers and quarterly ones below ten, without saying how to count
  them; Beelocity counts the people the month pays. Near the line, check with your accountant.
- **The `DAS` is shown on 30 January**, the date the law gives. The fund announces a window to 31
  January; a date one day early costs you nothing.
- **The date is the law's own, never later.** The tax office often grants more time by
  announcement, and moves a `G29` that falls on a Friday or a Saturday to the next working day.
  Beelocity shows the date the article gives, so the real deadline is sometimes later than the
  date shown and never earlier.
- A date whose article has not been read in the law itself would say **To confirm with your
  accountant**. All four have been read.

A declaration filed late costs money: contributions paid late are surcharged 5%, plus 1% a month;
a late `DAS`, 15% of the contributions due, plus 5% a month. Beelocity does not know whether you
filed, but it knows whether you paid once you record it ([below](#pay-a-declaration)): beside a
`G50` or a `CNAS` date it says **To pay** or **Paid**.

<a id="pay-a-declaration"></a>
## Pay a declaration

The `G50` and the contributions are paid as well as declared, and once you record the payment
Beelocity knows the month is declared. On **Monthly declarations**, or in the **Declare** step at
the top of a closed month's own page, click **Pay a declaration**. Pick the **Declaration** — each
is offered with the amount the month declared and the day it is due — check the **Payment date**,
and click **Pay a declaration**.

- **You never type the amount.** The `G50` pays the month's `IRG`; the contributions pay the
  employee's share, the employer's and social works together, the **Total contributions** the
  figures show.
- **It is paid from the salary account**, by your usual transfer, as the salaries are. The payment
  appears in **Treasury › Receipts & Payments** as a draft, naming the declaration and its month,
  and your treasurer confirms it the day the money leaves, as for any payment.
- **Pay one declaration at a time**: the fund and the tax office are paid separately, often on
  different days. Open **Pay a declaration** again for the other.
- **A business of nine people or fewer pays the quarter** once its last month is closed. Until
  then each month of the quarter reads **Period not closed** beside its contributions, and any of
  them pays the whole quarter afterwards.
- **A declaration that declared nothing has nothing to pay.** A month in which nobody's pay was
  taxed reads **Nothing to pay** beside its `G50`.

Beside each date you then see where it stands: **To pay**, or **Paid** with the payment's number,
which opens it in Treasury. Once both of a month's declarations are paid, or declared nothing, the
month's **Declare** step is done.

**A payment the bank sends back** is cancelled in Treasury, like any other; the declaration reads
**To pay** again, and you pay it once more.

**A cheque handed in at the tax office cannot be recorded here yet.** Beelocity records a
declaration paid by transfer.

<a id="the-year"></a>
## Declare the year

Once a year the same wages are declared again, whole: to the social-security fund in January, for
the year that has just ended. Open **Payroll › Declarations** and click the **Annual declarations**
tab.

The page opens on the year that ended, which is the one you are filing for. Change the **Year** if
you need another. Beside it you get when the year's two declarations are due, and what the year
holds:

- **Employer** — your legal name, your `NIF`, your `CNAS` employer number and your address. These
  are the details the form opens with, and they come from your **Organization profile**. If any is
  blank, fill it in there.
- **The year** — how many months of it you have closed, how many people it paid, and the totals:
  gross, contribution base, both contributions, taxable pay and `IRG`.

**Only closed months count.** A month still in draft contributes nothing to the year, because its
figures can still move. If the count of closed months is lower than you expect, close the rest
before you declare.

Click **Annual salary declaration** to download the file. One row per person, in employee-number
order, with their number, their social-security number, their name in two columns, their job title,
the date they were employed from and the date they left if they left during the year, how many
months they were paid, their unpaid days, and the year's contribution base and both contributions.

Two things you fill in by hand, and it is better to know now than at the counter:

- **The employer details are not in the file.** They are on the page, beside the download, because
  a spreadsheet whose first rows are labels and values cannot be sorted or pasted as a block.
- **The absences are a count, not dates.** A payslip records how many unpaid days a month had, not
  which days they were, so the file gives the number. If the fund asks for periods, take them from
  your leave records.

<a id="the-statement"></a>
## The year for the tax office

By 30 April the tax office wants the same year again, told its way: what each person was paid and
what `IRG` you withheld from them. It is the form the accountant calls the `G29`.

It is the same page and the same year. Click **Annual salary statement** to download it: one row
per person, with their number, their name in two columns, the sums paid over the year, their
taxable pay, the net taxable amount — taxable pay less the tax withheld — that tax, **Income tax
paid over** and the **Difference**.

- **Income tax paid over** is each person's tax of the months whose `G50` you paid in Beelocity
  ([Pay a declaration](#pay-a-declaration)); **Difference** is the year's tax less it. A month's
  `G50` is paid whole or not at all, so a month you have not paid counts nothing yet.
- **A `G50` paid outside Beelocity counts as not paid over.** If you paid one before you recorded
  payments here, the difference shows it: check it before you file.

**One box on the form is not in the file, and cannot be: the sums paid in kind**, separately from
those in cash. Beelocity does not record whether an allowance is paid in money or in kind, so a
column of zeros would be a claim rather than a gap.

<a id="what-the-file-is-for"></a>
## What these files are for, and what they are not

**They are figures to read and carry.** Take the contribution base and the headcount to the
`CNAS` declaration — the portal works the contributions out from the base you declare — take the
month's `IRG` to the `G50`, the year's contributions to the fund's annual declaration and the
year's tax to the `G29`. Keep them with
your paperwork if you want a record of what you declared.

**They are not files to upload.** Neither the `CNAS` portal nor the tax office accepts them: each
has its own layout, and a file written to a guessed layout is refused at the counter after it has
looked finished all month. When we have seen a real file that one of them accepted, we will add an
export that writes it.

<a id="who-can-do-this"></a>
## Who can do this

Seeing the figures and taking them away are two different permissions, deliberately:

- anyone who can **view** payroll runs sees the **Declaration figures** tab;
- exporting needs its own permission — the same one for the month's file and for **Annual
  declarations** — so you can give your accountant the figures and the files without giving them
  the authority to open, work out, close or pay a month. Somebody with that permission alone sees
  **Declarations** with one tab, **Annual declarations**.

The **Human resources officer** role has both. If somebody cannot see **Export the month's
declaration figures**, or the **Annual declarations** tab, it is that permission
they are missing — ask whoever manages roles in your business.

**Paying a declaration** needs the permission to pay the salaries, because it is the same money
leaving the same account. The **Human resources officer** role has it too; confirming the payment
in Treasury is your treasurer's, as for the salaries.

<a id="troubleshooting"></a>
## If something looks wrong

**The figures are not there.** The month is still a draft. Close it first.

**A person's social-security number is blank.** It is blank on their employee record. Open
**Human Resources › Employees**, open them, click **Edit** and fill it in. It will be on
the next month's file; a closed month never changes, so this one keeps the blank.

**Somebody is missing from the file.** They had no payslip in that month — they were not employed
in it, or their contract was not signed when the month was worked out. The file lists exactly the
people the month paid, and the year's file exactly the people its closed months paid.

**The names look wrong in the file.** If accented or Arabic letters come out as symbols, your
spreadsheet application opened the file as plain text. Close it, then use your application's
**Open** or **Import** and choose **Unicode (UTF-8)** — the file is written that way.

Source: https://docs.beelocity.com/en/payroll/declarations/index.mdx
